小编典典

$ on和$广播角度

javascript

我有一个footerController和codeScannerController具有不同的视图。

angular.module('myApp').controller('footerController', ["$scope", function($scope) {}]);

angular.module('myApp').controller('codeScannerController', ["$scope", function($scope) {
console.log("start");
$scope.startScanner = function(){...

当我<li>在footer.html中单击时,应该在codeScannerController中得到此事件。

<li class="button" ng-click="startScanner()">3</li>

我认为可以使用$on和来实现$broadcast,但是我不知道如何在任何地方找到示例。


阅读 248

收藏
2020-04-25

共1个答案

小编典典

如果要$broadcast使用$rootScope

$scope.startScanner = function() {

    $rootScope.$broadcast('scanner-started');
}

然后使用$scope您控制器的接收:

$scope.$on('scanner-started', function(event, args) {

    // do what you want to do
});

如果愿意,可以在以下情况下传递参数$broadcast

$rootScope.$broadcast('scanner-started', { any: {} });

然后接收它们:

$scope.$on('scanner-started', function(event, args) {

    var anyThing = args.any;
    // do what you want to do
});
2020-04-25