在哪里处理指令事件侦听器

时间:2015-11-10 09:36:12

标签: angularjs angularjs-directive angularjs-ng-repeat

我的问题基本上是处理指令事件监听器。

我的项目列表屏幕中有瓷砖,每个瓷砖都会有6-7个点击处理程序。

我正在创建tile作为指令。我的项目列表屏幕也可以有n号。瓷砖。

我的问题是,在指令或控制器中使用每个tile事件侦听器是否合适?因为如果我在我的指令中保留事件监听器,那么让我们假设我在一个页面中有50个磁贴,那么50 * 6 = 300个监听器将用于该页面。 请解释一下。

1 个答案:

答案 0 :(得分:0)

我认为每个指令中50个处理程序的性能和控制器中6个处理程序的性能非常相似。但首先我们使用更少的浏览器内存。

这将是一个哲学问题 - “我在哪里可以保留我的处理程序?”

如果您有超过5000个组件,那么将处理程序保留在控制器中会更好。但是,如果您知道屏幕上只有一个组件,那么您可以将处理程序保留在指令中。

我的选择是保持我的指令非常虚伪。这意味着指令内部没有处理程序,并且在角度控制器中具有所有处理程序。