6

在以下示例中:http ://plnkr.co/edit/OZjg6sUgl35GIriaabQg?p=preview

我有 2 个指令,showCard一个在 ng-repeat 中,link在属性更新时调用该函数。(见控制台)

另一个showCards工作正常link,但更新属性时不会调用该函数,而在开始时只调用一次。

我想了解这两种之间的区别。

4

1 回答 1

9

每个元素只调用一次链接函数,所以每当你添加一张新卡时,ngRepeat-directive 都会添加一个新的<show-card ...>,它将调用链接函数。

如果您希望每次cards更改时触发某些功能,您可以在 showCards 链接功能的范围内添加 $watch 功能,如下所示:

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