如何使用AngularJS进行广播和活动?

时间:2014-01-17 10:39:29

标签: angularjs

我正在使用:

<body data-ng-keydown="$broadcast('keydown',$event)">

在我的控制器(孩子)

$scope.$on('keydown', function (event) {

})

我希望看到该事件包含与$ event相同但不支持。例如,$ event包含keyCode字段,但事件不包含。怎么了?

我也试过这个:

      $scope.callFunction = function (event) {
            $scope.$broadcast('keydown', event)
        }

无论哪种方式,当接收到keydown事件时,函数(event)中的参数与广播中发送的参数不同。

1 个答案:

答案 0 :(得分:2)

在处理程序上为$添加第二个参数:

$scope.$on('keydown', function (event,myEvent) {
console.log(myEvent);
})

应该这样做。第一个事件arg是一个通用事件参数,你确实传递了自己的参数,因此它排在第二位。

相关问题