0

有没有办法将多个事件名称传递给$on方法并将相同的回调分配给所有这些事件?

基本上,我正在寻找类似$scope.$on('event1 event2 event3', sameCallback);. 文档说这eventName是一个字符串,并没有提到在那里允许多个事件名称。我应该为此编写自己的便捷方法吗?

4

2 回答 2

1

你可以自己编码,类似的东西......

[{event: "event1", callback:function(){}}, {event:'event2'}].forEach(function(item) {
    scope.$on(item.event, (item.callback || function(){}))
});
于 2013-09-18T06:52:43.397 回答
1

尝试包装默认功能。我认为设置事件是一个好主意:

context.on = function(events, callback) {
 var events_arr = events.split(" ");

 angular.each(events_arr, function(event) {

    $scope.$on(event, callback);

 },this)

}

这很粗糙,但我想你知道我的意思

于 2013-09-18T07:00:35.797 回答