2016-03-24 3 views
0

Когда я пытаюсь транслировать событие:

$scope.selectCategory = function(cat) { 
    $scope.$broadcast('Cat', {catID: cat}); 
} 

не попадитесь $scope.$on:

$scope.$on('Cat', function (event, args) { 
    console.log("in"); 
    $scope.catid = args.catID; 
}); 

Вопрос: Я успешно передать переменную в трансляции, но $ scope.on callback никогда не запускается.

ответ

1

вам нужно $ вещать на $ rootScope:

$scope.selectCategory = function(cat) { 
           // $location.path('/films/' + cat); 
           $rootScope.$broadcast('Cat', {catID: cat}); 
           console.log(cat); 
          } 

остальная часть кода должна быть хорошо тогда.

Код: Official Angular Guide

Смежные вопросы