AngularJS controller之间的通信方式
发布时间:2020-12-17 09:09:04 所属栏目:安全 来源:网络整理
导读:Angularjs为在scope中为我们提供了冒泡和隧道机制,$broadcast会把事件广播给所有子controller,而$emit则会将事件冒泡传递给父controller,$on则是angularjs的事件注册函数,有了这一些我们就能很快的以angularjs的方式去解决angularjs controller之间的通
Angularjs为在scope中为我们提供了冒泡和隧道机制,$broadcast会把事件广播给所有子controller,而$emit则会将事件冒泡传递给父controller,$on则是angularjs的事件注册函数,有了这一些我们就能很快的以angularjs的方式去解决angularjs controller之间的通信 实例html code<div ng-controller="ParentCtrl"> //父级 <div ng-controller="SelfCtrl"> //自己 <a ng-click="click()">click me</a> <div ng-controller="ChildCtrl"></div> //子级 </div> <div ng-controller="BroCtrl"></div> //平级 </div> JavaScript codephonecatControllers.controller('SelfCtrl',function($scope) { $scope.click = function () { $scope.$broadcast('to-child','child'); $scope.$emit('to-parent','parent'); } }); phonecatControllers.controller('ParentCtrl',function($scope) { $scope.$on('to-parent',function(d,data) { console.log(data); //父级能得到值 }); $scope.$on('to-child',data) { console.log(data); //子级得不到值 }); }); phonecatControllers.controller('ChildCtrl',function($scope){ $scope.$on('to-child',data) { console.log(data); //子级能得到值 }); $scope.$on('to-parent',data) { console.log(data); //父级得不到值 }); }); phonecatControllers.controller('BroCtrl',function($scope){ $scope.$on('to-parent',data) { console.log(data); //平级得不到值 }); $scope.$on('to-child',data) { console.log(data); //平级得不到值 }); }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 使用Jersey创建RESTful风格的WebService
- angular – 如何将md-table(cdk数据表)连接到要用作数据源的
- 部署 – 在不使用存储库的情况下部署Docker映像
- PhoneGap上的Angularjs/Javascript应用程序的最佳数据持久性
- 帮助我理解这个Scala代码:scalaz IO Monad和implicits
- 71. Simplify Path
- 搭建本地 yum 源 离线安装 Docker 1.12.6
- NAF框架终于有了一个好的开端。
- twitter-bootstrap – Bootstrap datepicker – 如何以正确
- 用bootstrap_table实现html 表格翻页