指令链接功能在ng重复中称为多次

时间:2014-03-01 14:47:52

标签: angularjs directive ng-repeat ng-switch

我的代码中有一个奇怪的行为,带有自定义指令。 链接函数被多次调用,但是如果想要初始化第三方库(示例映射),则此行为会破坏lib。

link: function(scope) {
    alert("invoked");
}

http://jsfiddle.net/dYs8L/1/

jsfiddle使用正确的代码更新

  

http://jsfiddle.net/dYs8L/2/

1 个答案:

答案 0 :(得分:1)

它按设计工作... ng-repeat实际上为集合中的每个项目创建了一个带有隔离范围的标记的新副本。如果你需要初始化一次,你需要在别处做。您可以考虑将此资源放入服务中;这将允许ng-repeat输出的所有元素使用相同的实例。