2

ここでAngularの問題を理解するのに本当に役立つ他の場所を見つけることができませんでしたが、まだ完全に把握していない継承と関係があると思われます.

カスタム ディレクティブの ng-repeat を実行していて、リソースからコレクションを更新しようとすると奇妙な動作が発生します。ここにplnkrがあります: http://plnkr.co/edit/QXAFvQix8oUiVMlMuEXw

問題の内容を確認するには、[Finish Registration] ボタンをクリックして、リソースから json を取得し、現在のコレクションを置き換えます。私が期待しているのは、カードが更新されたカードに置き換えられることですが、最初の 2 枚のカードがスコープにバインドされていないように見え (または何らかの形でゾンビ化され)、2 枚の新しいカードが追加されています。以降の各更新では、期待どおりに新しいカードが更新されます。私は何が欠けていますか?

4

1 に答える 1

3

分離されたスコープが誤って同じ要素で定義された他のディレクティブにリークするという問題が発生しています。

ただし、これはこのコミットの Angular v1.2.4で対処および修正されています。

したがって、このバージョン (Angular のみが更新されたもの) は動作します: http://plnkr.co/edit/kufU5fI90j2lj2jdyLBx?p=preview

AngularJS のバージョンに依存しないように記述する方法は、ディレクティブをネストすることで、スコープ間の関係を完全に明確に保つことです。

  <div ng-repeat="student in currentUser.studentCollection">
     <div student-card  
       student="student" 
       unit-schools="unitSchools"></div>
  </div>
于 2013-12-10T21:30:20.490 に答える