angularjs $broadcast 和 $on 的使用及其注意事项
发布时间:2020-12-17 10:02:07 所属栏目:安全 来源:网络整理
导读:在同一页面时候,一般会有不同的ctr控制不同的模块,那么要在不同的ctr之间传递事件就需要用到 b r o a d c a s t 和 on来传播和接收事件 下面是demo: div ng-controller= "ParentCtrl" www .111 cn.net //父级 div ng-controller= "SelfCtrl" //自己 a ng-
在同一页面时候,一般会有不同的ctr控制不同的模块,那么要在不同的ctr之间传递事件就需要用到
<div ng-controller="ParentCtrl"> www.111cn.net //父级
<div ng-controller="SelfCtrl"> //自己
<a ng-click="click()">click me</a>
<div ng-controller="ChildCtrl"></div> //子级
</div>
<div ng-controller="BroCtrl"></div> //平级
</div>
phonecatControllers.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(event,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); //平级得不到值
});
});
以上是例子: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读