【发布时间】:2017-06-07 10:41:57
【问题描述】:
我有一个 Angular 组件,它在自身内部动态创建各种其他类型的组件。它通过OnChanges 钩子将自己的属性绑定到子组件@Input 属性。
当子组件的更改检测设置为默认值时,此绑定可以正常工作。然后检测到新的输入并更新组件模板。
但是,当更改检测为 OnPush 时不起作用,则未检测到更改。我认为应该检测到更改,因为一个新的不可变对象(字符串)被分配给组件@Input 属性。
这里有一个 plunker 来演示: https://plnkr.co/edit/0wHQghtww2HXVbC27bC1
如何让这个父到动态子属性绑定与 ChangeDetectionStrategy.OnPush 一起使用?
【问题讨论】:
-
对于任何感兴趣的人,这里是相关的 GitHub 问题,其中包含有关为什么 OnPush 更改检测对动态组件的工作方式不同的更多信息 - github.com/angular/angular/issues/14087
-
这个问题解决了吗?
标签: angular angular2-changedetection