Как остановить трансляцию событий в angularjs? У меня три контроллера вложенные. Когда я транслировал событие с контроллера ctrl1
, контроллеры ctrl2
и ctrl3
прослушивают это событие. Я хочу остановить контроллер ctrl3
от слушателя. Как это сделать?Как остановить трансляцию событий в угловых js?
<div ng-controller="ctrl1" ng-click="ad2()">
<div ng-controller="ctrl2">
<div ng-controller="ctrl3">
</div>
</div>
</div>
studentReport.controller("ctrl1",["$scope",function($scope){
$scope.ad2 = function(){
$scope.$broadcast("text","hi");
}
}])
studentReport.controller("ctrl2",["$scope",function($scope){
$scope.$on("text",function(event,message){
alert(message)
});
}])
studentReport.controller("ctrl3",["$scope",function($scope){
$scope.$on("text",function(event,message){
alert(message)
});
}])
Просто отмените регистрацию, чтобы послушать это событие. –
как отменить регистрацию события @Ashish Kumawat – bharath
// подписывается ... var myListener = $ scope. $ On ('child', function (event, data) { // сделать что-то }); // unsubscribes ... // это, вероятно, сидит в обратном вызове или что-то myListener(); –