我有一个名为" 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
注册此更改/更新?
答案 0 :(得分:1)
'banana-in-a-box'语法([()]
)只能在Angular中使用[(NgModel)]
。
通常将值绑定到组件([sharedVar]
)会将其提供给子组件,默认情况下,Angular将通过更改检测更新子组件中的此值。
您只是想确保<app-options>
的{{1}}属性设置为@Input()
。