2016-06-01 21 views
2

オブジェクトの配列にng-repeatを書き込んで、ng-repeat属性で配列を定義しようとしていますが、何らかの理由で出力を無期限に繰り返すだけです。
私はそれを最後の部分と関係がある問題に煮詰めました。それをインラインで行います。オブジェクトの配列上にインラインngRepeat

<span ng-repeat="item in [{test:'a'}, {test:'b'}, {test:'c'}]">{{item.test}}</span> 

result of above on my server

Error: [$rootScope:infdig]エラーのコンソールに上げるの束。
興味深いことに、私はjsfiddleでどの角度バージョンを選んでも、1.2を実行していますが、それはうまくレンダリングします。

result of jsfiddle testing

しかしjsfiddleでコンソールがまだオブジェクトの配列が、配列の配列(TEST5)のためだけでなく、これをやって、エラーError: [$rootScope:infdig] 10 $digest() iterations reached. Aborting!が殺到しています。

ng-repeatをコメントアウトするとエラーが発生するので、回避策として、test5を使ってvarを保存するのは面白いです。
しかし、その変数を使用しようとすると、that is where it dies。面白いのは、それが本質的にtest3であることです。

これは、私がしたいことの1つの問題でなければなりません。variable come from the html(jsに既存のものではなく)があります。だからダイジェストループを殺すために、私はとit still fails(コンソールエラーが賢明)を使用するためにv1.4にバイディーを切り替えることを試みた。

他の人seem to have hit the issueが、自分のライブラリーではなく、上流

それを報告し、それを固定し、私はこれが正常に動作し得るためにのために方法はありますか?

+0

あなたの 'ng-repeat'で' $ evalAsync() 'または同様の関数を呼び出しますか? – Asqan

+0

そして、このコードスニペットは[質問の冒頭で]それが起こっているのを見るために必要なものです。ダイジェストの深さに上限があり、最初の反復の直後にエラーが発生するので、それがフィドルに「正しい」と表示される唯一の理由です。 – Hashbrown

答えて

2

このコードをご覧ください。

<!--what I actually want to work--> 
    <span ng-init="test10 = [{'text':'but'}, {'text':'this'}, {'text':'refuses'}, {'text':'to'}, {'text':'work'}]"></span> 
    <span ng-repeat="item in test10">{{item.text}} </span> 

ng-initを使用すると、ビューからスコープ変数を設定できます。

希望すると助かります!

+0

私はinitについて忘れていると信じられません。ありがとうございます、[完全に動作します](https://jsfiddle.net/mhgzdjjz/5/)。あなたが 'ng-init'を同じ​​divに入れることはできませんが、少なくともinitごとに複数の宣言を行うことができるので、少し洗練されたものにすることができます – Hashbrown

関連する問題