- div{border:1px solid #ff7300;padding:20px;margin:10px;border-radius:5px}
- 自己的 子级作用域
- 自己的平级作用域
- varapp=angular.module("app",[]);
- app.controller('OneSelfController',function($scope){
- $scope.clickeMe=function(){
- alert('你好');
- //向子作用域传播数据$scope.$broadcast('sendChild','给子控制器传递数据');
- //向父作用域传播数据(冒泡)$scope.$emit('sendParent','冒泡到父元素')
- };
- });
- app.controller('ParentController',function($scope){
- //监听$emit()事件的$scope.$on('sendParent',function(event,data){
- console.log('OneSelfController传递过来的数据',data,event.name,event);
- });
- $scope.parentCl=function(){
- //向所有子作用域传递数据alert('你好');
- $scope.$broadcast('sendAllChild','让siblingsController接收到')
- };
- });
- app.controller('ChildController',function($scope){
- //监听$scope.$on('sendChild',function(event,data){
- console.log('ChildCtrl',data,event.name,event);
- });
- })
- app.controller('siblingsController',function($scope){
- $scope.$on('sendAllChild',function(event,data) {
- console.log('值过来吧', data);
- });
- //传播不会向平级传播的$scope.$on('sendParent',function(event,data) {
- alert('你是谁');
- console.log('平级得不到值', data);
- });
- $scope.$on('sendChild',function(event,data) {
- console.log('平级得不到值', data);
- });
- });
来源: