博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
angular 事件广播和事件监听
阅读量:6694 次
发布时间:2019-06-25

本文共 1464 字,大约阅读时间需要 4 分钟。

一,angularjs $broadcast $emit $on的处理思想

在一个controller里面通过事件触发一个方法,在方法里面通过$broadcast$emit来定义一个变量,在父,子controller里面通过$on来获取。

二,实例说明angularjs $broadcast $emit $on的用法

//父级
//自己
click me
//子级
//平级

js代码

appControllers.controller('SelfCtrl', function($scope) {      $scope.click = function () {          $scope.$broadcast('to-child', 'child');          $scope.$emit('to-parent', 'parent');      }  });  appControllers.controller('ParentCtrl', function($scope) {      $scope.$on('to-parent', function(d,data) {          console.log(data);         //父级能得到值      });      $scope.$on('to-child', function(d,data) {          console.log(data);         //子级得不到值      });  });  appControllers.controller('ChildCtrl', function($scope){      $scope.$on('to-child', function(d,data) {          console.log(data);         //子级能得到值      });      $scope.$on('to-parent', function(d,data) {          console.log(data);         //父级得不到值      });  });  appControllers.controller('BroCtrl', function($scope){      $scope.$on('to-parent', function(d,data) {          console.log(data);        //平级得不到值      });      $scope.$on('to-child', function(d,data) {          console.log(data);        //平级得不到值      });  });

点击Click me的输出结果

child  parent

$broadcast赋的值,只能子级得到值;$emit赋的值,只能父级得到;而平级的什么都不能得到。

转载于:https://www.cnblogs.com/crazycode2/p/6748966.html

你可能感兴趣的文章
css与jquery、图标字体
查看>>
[2019.1.15]BZOJ2152 聪聪可可
查看>>
报表使用相关知识及技巧汇总
查看>>
Linux Ptrace 详解
查看>>
Python模块——hashlib
查看>>
Centos下基于Hadoop安装Spark(分布式)
查看>>
linux Tomcat配置
查看>>
IE兼容
查看>>
2017-2018-1 20155225 20155229 实验一 开发环境的熟悉
查看>>
《屌丝日记》系列-开篇
查看>>
23种设计模式 --(更新)
查看>>
java集合框架01
查看>>
mysql之 mysql 5.6不停机主从搭建(一主一从基于日志点复制)
查看>>
jar包和war包的区别
查看>>
启动和停止数据库——显示例程信息
查看>>
fatal: Could not read from remote repository
查看>>
消息模板 临时参考
查看>>
手动实现Netty
查看>>
Springmvc中的拦截器interceptor及与过滤器filter的区别
查看>>
week1 - Python基础1 介绍、基本语法、流程控制
查看>>