angular-cn/packages/core/schematics/migrations/template-var-assignment
Alex Eagle 06efc340b6 build: update rules_nodejs and clean up bazel warnings (#30370)
Preserve compatibility with rollup_bundle rule.
Add missing npm dependencies, which are now enforced by the strict_deps plugin in tsc_wrapped

PR Close #30370
2019-05-14 10:08:45 -07:00
..
angular refactor(core): template-var-assignment migration incorrectly warns (#30026) 2019-04-22 11:16:19 -07:00
google3 build: update rules_nodejs and clean up bazel warnings (#30370) 2019-05-14 10:08:45 -07:00
BUILD.bazel build: update rules_nodejs and clean up bazel warnings (#30370) 2019-05-14 10:08:45 -07:00
README.md refactor(core): polish failure messages for template-var-assignment schematic (#29708) 2019-04-08 09:46:57 -07:00
analyze_template.ts refactor(core): template-var-assignment migration incorrectly warns (#30026) 2019-04-22 11:16:19 -07:00
index.ts fix(core): migrations not always migrating all files (#30269) 2019-05-08 11:54:33 -07:00

README.md

Assignments to template variables

With Ivy, assignments to template variables are no longer supported as template variables are effectively constants.

This means that assignments to template variables will break your application once Ivy is enabled by default. For example:

<button *ngFor="let option of options"
       (click)="option = 'newButtonText'">
  {{ option }}
</button>

In the example from above, a value is assigned to the option template variable on click. This will ultimately break your application and therefore the logic needs to be adjusted to not update the option variable, but rather the given element in the options array:

<button *ngFor="let option of options; let idx = index"
       (click)="options[idx] = 'newButtonText'">
  {{ option }}
</button>