日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

angularjs中父,子,兄之间controller值得传递

發布時間:2025/4/16 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 angularjs中父,子,兄之间controller值得传递 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用angularjs,發現controller間的值傳遞,比較麻煩的,以后幾篇文章會陸續說幾種方法。

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

在一個controller里面通過事件觸發一個方法,在方法里面通過$broadcast或$emit來定義一個變量,在父,子controller里面通過$on來獲取。

?

二,實例說明angularjs $broadcast $emit $on的用法

1,html代碼

<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>

?

2,js代碼

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(d,data) { console.log(data); //父級能得到值 }); $scope.$on('to-child', function(d,data) { console.log(data); //子級得不到值 }); }); phonecatControllers.controller('ChildCtrl', function($scope){ $scope.$on('to-child', function(d,data) { console.log(data); //子級能得到值 }); $scope.$on('to-parent', function(d,data) { console.log(data); //父級得不到值 }); }); phonecatControllers.controller('BroCtrl', function($scope){ $scope.$on('to-parent', function(d,data) { console.log(data); //平級得不到值 }); $scope.$on('to-child', function(d,data) { console.log(data); //平級得不到值 }); });

?

?

3,點擊Click me的輸出結果

child parent

?

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

轉載請注明
作者:海底蒼鷹

轉載于:https://www.cnblogs.com/rushintocloud/p/4811258.html

總結

以上是生活随笔為你收集整理的angularjs中父,子,兄之间controller值得传递的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。