亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ExpressionChangedAfterItHasBeenCheckedError解釋

ExpressionChangedAfterItHasBeenCheckedError解釋

千萬里不及你 2019-08-06 17:08:56
ExpressionChangedAfterItHasBeenCheckedError解釋請向我解釋為什么我一直收到這個錯誤: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked.顯然,我只是在開發模式下獲得它,它不會在我的生產版本中發生,但它非常煩人,而我根本不理解在我的開發環境中出現錯誤的好處 - 這些錯誤不會出現在prod上 - - 可能是因為我缺乏理解。通常,修復很容易,我只是將錯誤導致代碼包裝在setTimeout中,如下所示:setTimeout(()=> {     this.isLoading = true;}, 0);或者使用如下構造函數強制檢測更改constructor(private cd: ChangeDetectorRef) {}::this.isLoading = true;this.cd.detectChanges();但為什么我經常遇到這個錯誤?我想了解它,以便將來可以避免這些hacky修復。
查看完整描述

3 回答

?
陪伴而非守候

TA貢獻1757條經驗 獲得超8個贊

我有一個類似的問題??匆幌?a >生命周期鉤子文檔,我改變ngAfterViewInitngAfterContentInit它并且它起作用了。


查看完整回答
反對 回復 2019-08-06
?
慕容森

TA貢獻1853條經驗 獲得超18個贊

此錯誤表示應用程序中存在實際問題,因此拋出異常是有意義的。

devMode更改檢測中,在每次常規更改檢測運行后添加一個額外的轉彎,以檢查模型是否已更改。

如果模型在常規和附加變化檢測轉彎之間發生了變化,則表明這兩者之一

  • 變化檢測本身已經引起了變化

  • 每次調用時,方法或getter都會返回不同的值

哪些都不好,因為不清楚如何繼續,因為模型可能永遠不會穩定。

如果Angular運行更改檢測直到模型穩定,它可能會永遠運行。如果Angular未運行更改檢測,則視圖可能不會反映模型的當前狀態。

另請參閱Angular2中的生產和開發模式有何區別?


查看完整回答
反對 回復 2019-08-06
  • 3 回答
  • 0 關注
  • 2189 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號