在父元素和多个子元素之间同步变量angular2

时间:2017-05-10 17:21:00

标签: angular angular-components

我有一个名为" builder"的父组件,以及名为" option-1"," option-2",...的可变数量的子组件... ,"选项-n"。

构建器的HTML如下所示:

<b>Total: {{sharedVar}}</b>
<ng-container *ngFor="let option of color?.options">
   <button type="button" (click)="changeVar(sharedVar)"></button>
</ng-container>

<ng-container *ngFor="let option of options">
  <app-options [options]='option'  [(sharedVar)]="sharedVar"></app-options>
</ng-container>
<{1>} <app-options></app-options>中的

具有相同的函数changeVar,可更改子组件中的sharedVar

如何在父+所有孩子的sharedVar注册此更改/更新?

1 个答案:

答案 0 :(得分:1)

'banana-in-a-box'语法([()])只能在Angular中使用[(NgModel)]

通常将值绑定到组件([sharedVar])会将其提供给子组件,默认情况下,Angular将通过更改检测更新子组件中的此值。

您只是想确保<app-options>的{​​{1}}属性设置为@Input()