有没有办法在AngularJS上使用通配符捕获范围广播?
例:$rootScope.$on('*created', function () { // do stuff});
最佳答案
在angular js源代码中,$on
定义如下:
$on: function(name, listener) {
var namedListeners = this.$$listeners[name];
if (!namedListeners) {
this.$$listeners[name] = namedListeners = [];
}
namedListeners.push(listener);
return function() {
namedListeners[indexOf(namedListeners, listener)] = null;
};
},
由于
this.$$listeners
是一个关联数组,而javascript中的关联数组不使用正则表达式作为键,因此这暗示了简短的答案是“不行”。