在使用Jasmine / Karma测试我的应用时,我注意到在处理范围事件时有一些有趣的行为:
$scope.$on('some-event', function(event) {
event.stopPropagation();
});
然后在我的测试中,我从$rootScope
:
$rootScope.$broadcast('some-event');
这导致TypeError
:
TypeError: event.stopPropagation is not a function
at null.<anonymous>
...
答案 0 :(得分:2)
事实证明,stopPropagation
仅适用于通过scope.$emit
而非scope.$broadcast
创建的事件。
stopPropagation
- {function=
}:调用stopPropagation
函数将取消进一步的事件传播(仅适用于$emit
- ed的事件。)强>