Update logs - ws-types/ws-angular-x GitHub Wiki

All the updates of each version will be here.

2018-02-10 [1.2.6]

  • ElementRef now is more powerful. You can access elemenrRef when the component is init, instead of the view been init.

2018-02-05 [1.2.5]

  • #33 - Context(scope) now is in ElementRef.
  • A new directive ngTemplateOutlet is introduced.

2018-02-03 [1.2.4]

  • #31 - Add more ignore array items for uglify reversed list.
  • #32 - @ViewChild decorator now is support for ElementRef.

2018-01-29 [1.2.2]

  • #28 - Getter/setter bind to scope in mixin mode will not lose context this any more.
  • #29 - Getter/setter bind to scope in mixin mode will default in enumerable.

2018-01-26 [1.2.0]

  • Now @Input() decorator for directive is more powerful. you can rename the input param's propName and open twoWay binding mode by this.
  • @Require() decorator now is enabled for directive and component.
  • @Property() and Enumerable() decorators now is introduced. More details about decorators.
  • The mixin of scope with controller is introduced.
  • Breaking changes : Now the ngx-html-loader will not add ctrl prefix automatically. You must add "<!--[$ngxCtrl=balabala]-->" in the html template if you want use new syntax of template binding.The ngx-html-loader now is matched the new feature of directive and component : Mixin.
  • Mixin $Scope : now you can make mixin with scope and controller for your components and directives.It means that you can get the full-shadow of controller via scope and you can access the controller properties or methods in scope directly.You will not need to use "vm" of any other alias for controller in template binding.Anyway, the feature of mixin is optional and default un-opened. More details of mixin is here.

2018-01-25 [1.1.13]

  • #25 - Dist files now come back...
  • Re-implements the directive lifecycles to prevent some mistakes.
  • Directive config new field : "merge", for using a scope instead of extends from parent. But remember to set controller alias, or the "controllerAs" may go wrong.

2018-01-24 [1.1.12]

  • bug fixed in template loader.

2018-01-24 [1.1.11]

  • #23 - Now the behaviors of routes config : {path:"?{a}&{b}"} is correct.
  • #24 - Now enable hash nae selector for template loader.
<my-form #theForm any="others_msg"></my-form>
<!--this template will be parsed to ...-->
<my-form ngx-name-selector="theForm" any="others_msg"></my-form>

2018-01-21 [1.1.10]

  • #21 - Router module improvement. Now the state of each route config is unnesessary. If a route of Routes for RouterModule doesn't have a state, the framework will create an unique state for it. The path is more important because you may only can navigate by url instead of navigating to state with a auto-created state route. There is the best practice : Clike here

2018-01-20 [1.1.9]

  • Rebuild package dependency with jquery. It's a terrible decision to remove it anyway.

2018-01-20 [1.1.8]

  • Re-implements the ngx-expose directive with AfterViewInit hook.
  • Remove dependencies of jquery and bootstrap.
  • Template bindings improves. now *ngFor and {{***}} if supported.

2018-01-14 [1.1.7]

  • Now angular2.0/4.0+ common directives syntax is support. You should add my angularx-html-loader in webpack under "html-loader" in use:[] .(you can find it in "ws-angular-x/webpack/@ngtools/...")

If you choose to use this syntax, that means that default code scope is controller but not the view "scope". If you want use scope with, inject the "$scope" service from controller and bind it to controller, then you can call scope in [demoTest]="$scope.balabala".

<!--[$ngxCtrl:vm]--> // default is vm if use "$" in webpack loader, or you can change this in each file you want.
<new-component ng-if="vm.show01" meta-test="aaa" 
    meta-number="vm.data.number" on-key-fuck="vm.onKeyFuck($event)"></new-component>
<new-component *ngIf="!show01" [metaTest]=" 'bbb' " 
    [metaNumber]="data.number" (onKeyFuck)="onKeyFuck($event)"></new-component>
  • Now css will be dynamic load/unload, if component is loaded, the css will be add into <head>; if a component is loaded more than once at a time, the count of css file will be added; and if one component is unloaded, the count will be reduced; and if all components of the css is unloaded, the css will be remoced from <head>. The same as directive.

2018-01-13 [1.1.6]

  • #18 - Now pipe is support! you can declare a pipe class which implements the interface "PipeTransform" by decorator "@Pipe(name|{name:"balabla.."})", send the pipe into module declarations, and use it just like what you did in angular4. The pipe must be pure function.
  • Css-crossing over components scope now is enabled with two ways, read it for more information.
  • Breaking changes : default provider name now is changed. selector will not be set in if you pass a string into Injectable decorator, it will set into "name" of the config, and the format should be camel, which is used to be registerd in the module. Of course you can still create a service without a name.

Example : if you create a service like this "@Injectable("mockService")", the name of this service is "mockService". But if you do like this : "@Injectable("mock-service")", the name will not be changed into "mockService" anymore.

2018-01-12 [1.1.4]

  • #19 - Now router dynamic param's default value is null, not "".
  • #20 - fix the problem : component/directive life cycle ["OnChanges" ] hooks not working.

2018-01-09 [1.1.2]

  • Breaking changes : in Router(service), the "params" Subject is not provided anymore and the "stateChanges" Subject's type is changed. you can get each transition result { to, from, params, path} in this Subjevt's subscription.

earlier

some updates and changes

⚠️ **GitHub.com Fallback** ⚠️