Angular指令,属性更新时不调用链接

时间:2013-04-16 13:49:45

标签: angularjs

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

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

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

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

1 个答案:

答案 0 :(得分:9)

每个元素只调用一次链接函数,因此无论何时添加新卡,ngRepeat-directive都会添加一个新的<show-card ...>,它将调用链接函数。

如果你希望每次更改cards时都触发一些函数,你可以在showCards链接函数的作用域上添加一个$ watch函数,如下所示:

   $scope.$watch('cards',function(){
     console.log('multi',$scope.cards);
   },true);