問題タブ [angularjs-infdig]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
56 参照

angularjs - フィルターで文字列をオブジェクトに変換するときの Infdig エラー

文字列の配列をオブジェクトの配列に変換するフィルターを書きたいです (これは、元の問題を簡略化したものです)。したがって、['a', 'b']は になり[{id: 'a', label: 'A'}, {id: 'b', label: 'B'}]ます。

ただし、私の解決策では、無限のダイジェスト サイクル エラーが発生します。

この質問のようにモデルを変更しません$rootScope:infdig エラーはフィルターによって引き起こされますか? . なぜこのエラーが発生するのですか?

0 投票する
1 に答える
109 参照

angularjs - Angular - 値を増やすとダイジェスト エラーが発生する

私は自分が抱えている問題を知っていますが、それを回避する方法がわかりません。何をしても、ダイジェスト エラーが発生します。私が信じている問題は、ng-repeat 内で「getPlayerIcon」メソッドを呼び出すことです。

HTML:

AngularJS:

「プレーヤー」には、ディフェンダーまたはアタッカーになることができる「ポジション」フィールドが含まれています。「getPlayerIcon」メソッドは、位置をパラメーターとして受け取り、その位置名を使用してスコープ変数を作成します。その位置に最初に到達した場合は値 1 を使用し、それが発生した場合は値を増やします。その位置。

私が抱えている問題は、ng-src でメソッドを呼び出すと、ng-repeat で呼び出されるたびに値が変更され、悪名高い indig ダイジェスト エラーが発生することです。

どうすればこれを修正できますか? たとえば、team.players に 4 人のディフェンダーと 4 人のアタッカーがいる場合、Defender/1、Defender/2、Defender/3、Defender/4、Attacker/ で画像をロードできるようにする必要があるため、インクリメントする必要があります。 1、アタッカー/2、アタッカー/3、アタッカー/4。基本的に、位置を特定するために必要であり、正しい画像を引き出すためにその位置を数えます。

ヘルプ!

ありがとう、FYP

0 投票する
1 に答える
114 参照

angularjs - 角度更新リスト $rootScope:infdig

コールバック関数内でスコープ リストを更新しようとしています。これは明らかに正常に動作しますが、数秒後にコンソールにエラー[$rootScope:infdig]が表示されます。双方向データバインディングを無効にしようとしましたが、エラーが続きます。

コントローラ:

意見: