如何解决使用ChangeDetectionStrategy.OnPush策略来重新呈现组件,以实现价值变化
我有mat-option
可以动态更新其值,我需要在值更改时对其进行更新。不幸的是,它具有OnPush ChangeDetectionStrategy,并且不会自动检测到它。
当前,我使用* ngFor进行了解决:
<mat-option *ngFor="let value of [dynamicValue]" [value]="value">{{value}}</mat-option>
此代码创建一个带值的元素表,并以此方式检测“ dynamicValue”的更改,并在每次更改时重新创建一个mat-option
组件。有更好的方法吗?
我知道我可以做parentSelect.options.notifyOnChanges()
,但是在我的代码中这样做很复杂,因为实际上dynamicValue
是一个表单控件,它使用嵌套模板,因此我需要手动引用所有元素管理formControl.valueChanges
的订阅并循环调用notifyOnChanges
,所以我只想在视图中这样做。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。