app.directive('tooltip_plugin_as_example', function() {
return {
restrict: 'A',
link: function(scope, element, attrs) {
$(element).tooltip();
console.log("this is called");
}
};
});
<div class="someclass">
<ul>
<li tooltip_plugin_as_example ng-repeat="item in iCtrl">{{item.name}}</li>
</ul>
</div>
这被调用
在单击新选项卡并加载新页面时会发生数百次。我希望它只发生一次,理想情况下,在加载最后一个项目时发生。是否可以?我正在考虑设置间隔,例如每秒调用一次这个插件,但显然,这将是一个可怕的做法......
最佳答案
您没有对任何 dom 事件采取行动,因此“this is called”将记录存在的每个实例。
也许试试这个,它只会在点击指令时运行。
app.directive('tooltip_plugin_as_example', function() {
return {
restrict: 'A',
link: function(scope, element, attrs) {
element.bind('click',function(){
//your code
});
}
};
});
如果我误解了,你能用 jsfiddle 提供更好的解释吗?
关于javascript - 插件在指令中被调用了数百次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25271952/