Open adarshaj opened 10 years ago
Thanks for the report!
@blois How hard would it be to add [[ ]] expressions to the Angular transformer?
I read some issue comments/commit messages during the recent weeks that indicate the Angular team is working on direct support of binding to polymer elements but I could have misinterpreted these comments.
Adding support for expressions in Angular should be as easy as adding them to: https://github.com/angular/angular.dart/blob/master/lib/tools/html_extractor.dart
Should be able to add tests for it at: https://github.com/angular/angular.dart/blob/master/test/tools/transformer/expression_generator_spec.dart
Is there a way to plug into the the extractor? This same work got rejected from Angular core, so I would expect changes to the extractor to be too. The point of this separate package it to be independent of Angular core.
@zoechi Angular's web component support design will not currently work with many of the custom elements in core-* and paper-* because they don't fire 'change' events when properties change. I think this is a major flaw in Angular's web component support, and angular_node_bind sidesteps all those issues by calling Node.bind() directly.
@justinfagnani Thanks for the feedback!
Ouch, Angualr's expression extraction support is very limited, making this issue impossible to fix right now. Basically Angular's extractor supports {{ }}
expressions, or directives can declare in their annotation which expressions they use, or which attributes contain expressions. Since we don't know ahead of time which expressions are used, or which attributes they're used in, we can't possibly specify that. Not only that but the attribute containing expressions are only support if the entire attribute is an expression.
This is tracked in angular.dart issue 1050: https://github.com/angular/angular.dart/issues/1050
Currently the binding works only in Dartium, and because of tree shaking the expression used only within
[[ ]]
in html fails to be preserved in generated js afterpub build
.