Broadcast on initialization
by Stefano Marello
HTML
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script>
<div ng-controller="FirstController">
<input type="text" ng-model="myInput"/>
<button ng-click="broadcast()">
BROADCAST
</button>
</div>
<p ng-controller="SecondController">
Data: {{data}}
</p>
JavaScript
var myApp = angular.module('myApp',[]);
myApp.controller('FirstController', function ($scope, $rootScope) {
$scope.myInput = 'Initial data';
$scope.broadcast = function() {
console.log ('broadcasting: ' + $scope.myInput);
$rootScope.$broadcast('myEvent', $scope.myInput);
};
$scope.broadcast();
});
myApp.controller('SecondController', function ($scope) {
$scope.$on('myEvent', function (event, args) {
console.log ('myEvent catched - Data: ' + args);
$scope.data = args;
});
});