当我尝试广播事件时:
$scope.selectCategory = function(cat) {
$scope.$broadcast('Cat', {catID: cat});
}
它不会被$scope.$on
捕获:
$scope.$on('Cat', function (event, args) {
console.log("in");
$scope.catid = args.catID;
});
问题:我成功地将变量传递到 broadcast 中,但 $scope.on 回调从未被触发。
最佳答案
您需要在 $rootScope 上进行 $broadcast:
$scope.selectCategory = function(cat) {
// $location.path('/films/' + cat);
$rootScope.$broadcast('Cat', {catID: cat});
console.log(cat);
}
那么你的代码的其余部分应该没问题。
关于javascript - Angular $broadcast 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36200586/