在angular 1.x中,单向数据绑定语法为::
我试图通过一次性绑定将对象传递给子组件。孩子需要从父母那里获得初始数据,但父母不会改变数据,也不需要知道孩子是否改变了数据。
<parent [child-data]="childData"/>
我怎样才能一次性绑定它?
答案 0 :(得分:1)
此帖子:angular 2 one time binding接缝表示使用 ChangeDetectionStrategy.CheckOnce 可能是解决方案。
答案 1 :(得分:1)
我知道这已经过时了,但我偶然发现了这个问题:ANGULAR CHANGE DETECTION EXPLAINED基本上只要你使用不可变输入和可观察信息(这可能并非总是如此) ,但它可能在一些有很多绑定的大表中):
@Input
,那么你有一次约束是的我知道这是整个组件,不仅仅是针对特定的绑定...... 答案 2 :(得分:0)
我有同样的问题。就我而言,足以添加一个额外的Input() set
并仅在尚未设置旧值的情况下保存新值
@Input() set initChildData(initChildData: any) {
if (initChildData && this.childData == undefined) {
this.childData = initChildData;
}
}
然后用html调用[initChildData]
而不是[child-data]
您可以在一个输入中使用一个组件,也可以将其移到抽象的 BaseComponent 类中,使其更加通用