我正在制作一款使用大量事件的应用程序,最终在指令的一个根元素中拥有超过 6 个事件监听器。这可以吗?我应该尽可能使用 ng-events 吗?什么时候可以使用 element.on?
我必须承认,直接在 View 上查看影响每个元素的事件要清晰得多,但我不知道这是否正确,在 View 中混合这么多功能感觉有点脏。
最佳答案
可能是时候创建一个包含所有这些事件监听器的功能的指令了。也就是说,假设您重复使用相同的监听器集,并且这些监听器的功能始终相同,并且可以从 View 的特定 Controller 中抽象出来并抽象到指令自己的通用 Controller 中。
app.directive('MyEventHandler', function(){
return {
restrict: 'A', //attribute only
link: function(scope, elem, attr, ctrl) {
elem.bind('mouseenter', function(e) {
//do something here.
});
elem.bind('mouseleave', function(e) {
//do something here.
});
elem.bind('click', function(e) {
//do something here.
});
elem.bind('dblclick', function(e) {
//do something here.
});
}
};
});
在此之前,通过给每个单独的行设置格式是管理视觉冲击的好方法。
关于javascript - 在什么时候应该停止在 AngularJS 中添加 ng-[event] 并使用 element.on ("[event]")?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20978706/