具有ng-repeat的Angular Directive addEventListener

时间:2015-10-22 14:40:15

标签: javascript angularjs angularjs-ng-repeat angular-directive event-listener

我目前有一个指令,它为链接函数中的元素添加了一些事件监听器。

e.g:

...
link: function(scope, element) {
    // this gives us the native JS object
    var el = element[0];

    el.draggable = true;

    el.addEventListener('dragstart', ...);
}
...

现在我在ng-repeat内使用此指令。 我的问题是,这是否会为ng-repeat中的每个元素创建一个新的eventlistener?

如果是这样,假设我在此ng-repeat中有100个项目,这是否会导致性能问题?

如果是这样,我可以将这些元素附加到同一个事件Listener?

1 个答案:

答案 0 :(得分:0)

是的,它会将事件添加到ng-repeat中的每个元素。指令每个元素执行一次,它附加了它。监听器本身不会导致重大的性能问题。 (不超过ng-repeat,这不是非常高效)