私はフォローのデザインがあります。ExpressionChangedAfterItHasBeenCheckedErrorが原因
Parent
+ Child 1
+ Child 2
子供2が含まれており、入力フィールドを、ユーザーのヒットは、ENTER、それがイベントを発します。子1はそれを傍受し、親によって傍受される実行イベントを発する。 Parentは検索を実行し、結果をInput()経由でChild 1に返します。
ユーザーがreload = Yフラグを指定してParentに移動すると、以前に保存された条件に基づいて検索が自動的に実行されます。私はルートをチェックすることにより、ngOnInitでこれを行うのparams = Yをリロードし、同じイベントを実行放出、それが親になり、結果は(入力を介して戻ってくる)私も、コンソールにこのエラーが出ますが、これは働いている -
ExpressionChangedAfterItHasBeenCheckedError:それは確認した後に発現が変化しています。以前の値: 'undefined'現在値: '[オブジェクトオブジェクト]'。
は、私がこの記事の続き: https://blog.angularindepth.com/everything-you-need-to-know-about-the-expressionchangedafterithasbeencheckederror-error-e3fd9ce7dbb4を、説明し、今でエラーがなくなっていると()のsetTimeoutを使用しました。ここで何が起こったのですか? setTimeoutメソッドをやっている正確に何を
。公式の説明は、「次VMの順番に実行されます 『』 setTimeout関数のスケジュール」マクロタスクです。
したがってsetTimetoutは、次の変更検出サイクルまで定義された関数の実行を遅らせますか? 「次のVMターン」は何を意味していますか?
ありがとうございました! – SBKDeveloper