[英]One-time (not one-way) binding for @Inputs in angular2?
在angular 1.x中,單向數據綁定語法是::
我正在嘗試將對象傳遞給具有一次性綁定的子組件。 孩子需要從父母那里獲取初始數據,但父母不會更改數據,也不需要知道孩子是否更改了數據。
<parent [child-data]="childData"/>
我怎么一次性綁定這個?
這篇文章: angular 2一次綁定接縫,表明使用ChangeDetectionStrategy.CheckOnce可能是解決方案。
我知道這是舊的,但我偶然發現了這個問題:角度變化檢測已解釋 ,基本上說只要你使用不可變輸入和可觀察量 (這可能不是一直都是這樣,但它可能在一些有很多的大表中綁定):
@Input
,那么你有一次綁定是的我知道這是整個組件,而不僅僅是特定的綁定.... 我有同樣的問題。 在我的情況下足以添加一個額外的Input() set
並僅在尚未設置舊值時保存新值
@Input() set initChildData(initChildData: any) {
if (initChildData && this.childData == undefined) {
this.childData = initChildData;
}
}
然后在html中調用[initChildData]
而不是[child-data]
你可以在一個組件中將它用於一個輸入,或者只是將它移動到一個抽象的BaseComponent類,使其更通用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.