[解決済み] Angularの「10 $digest() iterations reached」エラーのトラブルシューティング方法
2023-02-06 02:33:27
質問
10回の$digest()反復に達しました。中止してください。
しかし、このテキストの多くは、さまざまな関数からのJavascriptコードです。 この問題を診断するための経験則はあるのでしょうか? あるいは、この問題が単なる警告として扱われるべき、十分に複雑なアプリケーションがあるのでしょうか?
どのように解決するのですか?
Ven が言ったように、あなたはそれぞれの
$digest
サイクルごとに異なる (同一ではない) オブジェクトを返しているか、あるいはデータを何度も変更しているかのどちらかです。
アプリのどの部分がこの動作を引き起こしているのかを把握するための最速の解決策は。
- 疑わしい HTML をすべて削除する - 基本的に、テンプレートからすべての html を削除し、警告がないかどうかを確認します。
- 警告がない場合 - 削除したHTMLの一部を追加し、問題が再発するかどうかを確認します。
- 警告が出るまでステップ2を繰り返す - htmlのどの部分が問題の原因なのかが分かるでしょう。
-
さらに調査してください - ステップ 3 の部分は
$scope
にあるオブジェクトを変異させるか、あるいは各$digest
サイクルごとに -
をまだ持っている場合
$digest
の繰り返しの警告が出るようなら、おそらく何か非常に怪しいことをしているのでしょう。親テンプレート/スコープ/コントローラに対して同じ手順を繰り返します。
また、カスタムフィルタの入力が変更されていないことを確認するために
JavaScriptでは、通常期待されるような動作をしない特定のタイプのオブジェクトがあることに留意してください。
new Boolean(true) === new Boolean(true) // false
new Date(0) == new Date(0) // false
new String('a') == new String('a') // false
new Number(1) == new Number(1) // false
[] == [] // false
new Array == new Array // false
({})==({}) // false
関連
-
[解決済み] AngularJSのディープリンクとは何ですか?
-
[解決済み] Angular 1.2+ で ng-bind-html-unsafe を複製するために $sce.trustAsHtml(string) を使用するにはどうしたらよいですか?
-
[解決済み] ag-gridの行の追加/削除
-
[解決済み] AngularJSの「href」と「ng-href」の違いについて
-
[解決済み] Angularのui-routerでデフォルトの状態を設定する方法
-
[解決済み] AngularJS 。scope.apply()呼び出し時の$digest already in progressエラーを防ぐ。
-
角型グローバル確認ボックス
-
[解決済み] AngularJS: ngRouteが動作しない。
-
[解決済み] AngularJSのng-repeatでキーと値を反復処理する方法は?
-
[解決済み] AngularJSでコントローラを2回実行する場合の対処法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] オブジェクトと選択機能を備えたAngularJS BootstrapUI Typeahead
-
[解決済み] 適用がすでに進行中のエラー
-
[解決済み] Angular ng-repeat エラー "リピータ内の重複は許可されません。"
-
[解決済み] ag-gridの行の追加/削除
-
[解決済み] ng-repeat内で$indexを使用して、クラスを有効にしてDIVを表示するにはどうすればよいですか?
-
[解決済み] ng-pattern` - 数字だけをチェックする方法は?
-
[解決済み] Jasmineの "callThrough "と "callFake() "の実用的な例が欲しい
-
[解決済み] AngularJSを使用して、ブラウザのコンソールで$scope変数にアクセスするにはどうすればよいですか?
-
[解決済み] 入力フィールドにフォーカスを当てるには?
-
[解決済み] AngularJSでコントローラを2回実行する場合の対処法