![](/img/trans.png)
[英]Angular 2 input with pipe not updating view (change detection not working)
[英]Angular change detection with pipe
我對變更檢測和管道有問題。 我找不到解決它的好方法。
我創建了一個小項目來在這里復制它。 轉到/ monitor路線。
當您單擊“更改”按鈕時,它將更改數組中第一項的值,但不會更新UI。
如果我在變更處理程序中重新創建另一個對象,它將起作用
this.state[0] = Object.assign({}, this.state[0], { value: 999.99 });
但是我不想那樣做。 我需要保留相同的對象引用。
問題來自vital-value.component.html中的管道
{{ _vitalValue | vitalFormat }}
如果我改用它就可以了
{{ _vitalValue.value }}
有沒有辦法保留管道但要進行刷新?
謝謝!
盡管不建議這樣做,但請嘗試使管道不純。
@Pipe({
name: 'vitalFormat',
pure: false
})
但請注意對您應用程序性能的影響。 確實不建議使用impure
管道。
在這里閱讀:
Angular在每個組件更改檢測周期內執行不純管道。 每次擊鍵或移動鼠標時,都會經常調用不純管道。
考慮到這一點,應格外小心地安裝不純凈的管道。 昂貴的,長時間運行的管道可能會破壞用戶體驗。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.