我在根組件中觸發了 tick() 和 detectChanges()。在根組件中,我有一個具有 onPush 策略的子組件,這在邏輯上意味著如果資料沒有更改,它不應該觸發該子組件。
關于這個問題的非常小的例子: https ://github.com/michalgrzegorczyk-dev/change-detection
為什么 ChildWrapperComponent 在這種情況下運行 ngDoCheck()?這是 OnPush!為什么?
NgZone 被禁用。組件的重置按預期作業,即使是 OnPush,也只有根組件是觸發端。
uj5u.com熱心網友回復:
當您detectChanges()手動運行時,將檢查組件本身和所有子組件的更改。
檔案:detectChanges()
檢查此視圖及其子視圖。與 detach 結合使用以實作本地更改檢測檢查。
Angular|檢測變化
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/524416.html
