6

次の例: http://plnkr.co/edit/OZjg6sUgl35GIriaabQg?p=preview

属性が更新されるたびに関数が呼び出されるshowCardng-repeat 内の2 つのディレクティブがあります。link(コンソールを参照)

もう1つshowCardsは適切に機能していますがlink、属性が更新されたときに関数が呼び出されず、最初に1回だけ呼び出されます。

この2種類の違いが知りたいです。

4

1 に答える 1

9

リンク関数は要素ごとに 1 回だけ呼び出されるため、新しいカードを追加するたびに、ngRepeat ディレクティブは<show-card ...>リンク関数を呼び出す新しいカードを追加します。

変更されるたびに何らかの関数をトリガーする場合cardsは、次のように、showCards リンク関数のスコープに $watch 関数を追加できます。

   $scope.$watch('cards',function(){
     console.log('multi',$scope.cards);
   },true);
于 2013-04-16T14:08:38.487 に答える