有没有办法将多个事件名称传递给$on
方法,并为所有这些事件分配相同的回调?
基本上,我正在寻找像$scope.$on('event1 event2 event3', sameCallback);
这样的东西。 Documentation说eventName
是一个字符串,并没有提到允许多个事件名称。我应该为此编写自己的便利方法吗?
答案 0 :(得分:1)
你可以自己编写代码,就像这样......
[{event: "event1", callback:function(){}}, {event:'event2'}].forEach(function(item) {
scope.$on(item.event, (item.callback || function(){}))
});
答案 1 :(得分:1)
尝试包装默认功能。我认为设置事件是一个好主意:
context.on = function(events, callback) {
var events_arr = events.split(" ");
angular.each(events_arr, function(event) {
$scope.$on(event, callback);
},this)
}
这很粗糙,但我想你知道我的意思