異なるビューを持つ footerController と codeScannerController があります。
angular.module('myApp').controller('footerController', ["$scope", function($scope) {}]);
angular.module('myApp').controller('codeScannerController', ["$scope", function($scope) {
console.log("start");
$scope.startScanner = function(){...
footer.htmlでをクリックすると、<li>
codeScannerController でこのイベントを取得する必要があります。
<li class="button" ng-click="startScanner()">3</li>
$on
とを使って実現できると思うのです$broadcast
が、方法がわからず、例もどこにも見つかりません。
ベストアンサー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
});
これに関するドキュメントスコープドキュメント。