AngularJS $broadcast Method

The AngularJS $broadcast method is used to dispatches an event name downward to all child scopes notify the registered $rootScope listeners. The $broadcast propagates event name downward and travel toward the child scopes and calls all registered listeners along the way. All listeners for event name on this scope get notified. In $broadcast, event cannot be cancelled.

The difference between $emit and $broadcast method is, the way they propagate or travelled from the source.

Syntax

$broadcast(name, args);

Example

<!DOCTYPE html>        
<html>        
<head> <!-- www.techstrikers.com -->         
 <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.1/angular.min.js"></script>         
    <meta charset="utf-8">        
    <title>AngularJS $broadcast with $on Example</title>        
  <script>        
var app = angular.module('app', []);        
    app.controller("ParentController", function ($scope) {
       $scope.handleClick = function (msg) {
         $scope.$broadcast('event', { message: msg });
       };
    });
    app.controller("ChildController", function ($scope) {
     $scope.$on('event', function (event, args) {
         $scope.message = 'In Child Controller: ' + args.message;
       });
    });
    app.controller("ChildsChildController", function ($scope) {
     $scope.$on('event', function (event, args) {
         $scope.message = 'In Childs Child Controller: ' + args.message;
       });
    });
</script>        
</head>        
<body style="background-color:#DDE4E9;">        
  <fieldset style="background-color:#DDE4E9;">                    
    <legend>AngulerJS $broadcast with $on method Example</legend>         
  <div ng-app="app"> 
    <div ng-controller="ParentController"> 
      <input ng-model="msg">
      <button ng-click="handleClick(msg);">$broadcast</button>
    <div ng-controller="ChildController"> 
		<p style="font-family:Arial;color:yellow;background:steelblue;padding:3px;width:350px;">
			{{message}}
		  </p>
      </div>
      <div ng-controller="ChildsChildController"> 
		<p style="font-family:Arial;color:yellow;background:steelblue;padding:3px;width:350px;">
			{{message}}
		  </p>
      </div>
</div>        
</div>        
 </fieldset>         
</body>        
</html>  
Try Now

See Also

AngularJS Built-in Filters
AngularJS Built-in Directives
AngularJS Expression
AngularJS Built-in Events
AngularJS Scope Methods
AngularJS Built-in Services
AngularJS Controller Inheritance
AngularJS Custom Directives


 
SHARE THIS IF YOU LIKE!
submit to reddit

SUBSCRIBE FOR LATEST UPDATES
HAVE WE CONNECTED ON FACEBOOK?
TOP TUTORIALSTOP CODE EXAMPLESTOP LIVE DEMOLINKSSTAY CONNECTED
HTML Tutorial
HTML5 Tutorial
Bootstrap3 Tutorial
Javascript Tutorial
TypeScript Tutorial
AngularJS Tutorial
CSharp Tutorial
PHP Tutorial
Developer Tools
Javascript
AngularJS
Google MAP API V3
ASP.NET
Javascript
AngularJS
Google MAP API V3
Contact Us
Advertise with Us
Privacy Policy
Disclaimer
Stay connected. We actually like you. If you want to get up to the minute updates, then connect with us on your fav below.
 
Twitter   Linkedin   Facebook   Google+    RSS   Pinterest
 
Protected by Copyscape Original Content Checker
 
 
Copyright ©2017 www.techstrikers.com Unauthorized reproduction/replication of any part of this site is prohibited.