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