請向我解釋爲什麼我不斷收到此錯誤:ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked.
ExpressionChangedAfterItHasBeenCheckedError解釋
很顯然,我只是把它在開發者模式,它不會對我的生產版本發生,但它是非常惱人的,我根本不要」不要理解在我的開發環境中出現錯誤的好處,這些錯誤不會出現在產品中 - 可能是因爲我缺乏理解。
通常情況下,修復是很容易的,我只是包裝誤差在這樣的的setTimeout造成代碼:
setTimeout(()=> {
this.isLoading = true;
}, 0);
或者強制檢測與這樣的構造變化:constructor(private cd: ChangeDetectorRef) {}
:
this.isLoading = true;
this.cd.detectChanges();
但是,爲什麼我經常遇到這個錯誤?我想了解它,所以我可以在將來避免這些hacky修復程序。
[你需要了解的ExpressionChangedAfterItHasBeenCheckedError錯誤的一切(https://開頭hackernoon .COM /一切任您需要到專門關於最expressionchangeda fterithasbeencheckederror-error-e3fd9ce7dbb4)很詳細地解釋了這種行爲 –