我有这个指令:
myApp.directive('someDir', function($compile){
return{
restrict: 'A',
link: function(scope, element, attrs){
scope.$on("compileTask", function() {
$compile(element)(scope);
});
}
}
});
在我的控制器中,我正在将事件广播为:
myApp.controller('GreetingController', ['$scope', function($scope) {
$scope.$broadcast('compileTask');
}]);
观点是:
<h2 some-dir ng-bind-html="employee.name"></h2>
<h4 some-dir ng-bind-html="employee.designation"></h4>
问题在于,当'compileTask'事件被广播时,它被广播多次。我想知道它为什么多次广播这个事件?什么是允许单次广播的方式
答案 0 :(得分:1)
该事件被'广播'给所有事件听众。由于你有两个指令监听事件,他们都会处理它。