最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Angularjs的Controller間通信機(jī)制實例分析

 更新時間:2016年11月07日 14:06:31   作者:破狼  
這篇文章主要介紹了Angularjs的Controller間通信機(jī)制,結(jié)合實例形式分析了Controller通信機(jī)制的原理、實現(xiàn)技巧與相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了Angularjs的Controller間通信機(jī)制。分享給大家供大家參考,具體如下:

在Angularjs開發(fā)一些經(jīng)驗總結(jié)中提到我們需要按照業(yè)務(wù)區(qū)分angular controller,避免過大無所不能的上帝controller,我們把controller分離開了,但是有時候我們需要在controller中通信,一般為比較簡單的通信機(jī)制,告訴同伴controller我的某個你所關(guān)心的東西改變了,怎么辦?如果你是一個javascript程序員你會很自然的想到異步回調(diào)響應(yīng)式通信—事件機(jī)制(或消息機(jī)制)。對,這就是angularjs解決controller之間通信的機(jī)制,所推薦的唯一方式,簡而言之這就是angular way。

Angularjs為在scope中為我們提供了冒泡和隧道機(jī)制,$broadcast會把事件廣播給所有子controller,而$emit則會將事件冒泡傳遞給父controller,$on則是angularjs的事件注冊函數(shù),有了這一些我們就能很快的以angularjs的方式去解決angularjs controller之間的通信,代碼如下:

View:

<div ng-app="app" ng-controller="parentCtr">
  <div ng-controller="childCtr1">name :
    <input ng-model="name" type="text" ng-change="change(name);" />
  </div>
  <div ng-controller="childCtr2">Ctr1 name:
    <input ng-model="ctr1Name" />
  </div>
</div>

Controller:

angular.module("app", []).controller("parentCtr",
function ($scope) {
  $scope.$on("Ctr1NameChange",
  function (event, msg) {
    console.log("parent", msg);
    $scope.$broadcast("Ctr1NameChangeFromParrent", msg);
  });
}).controller("childCtr1", function ($scope) {
  $scope.change = function (name) {
    console.log("childCtr1", name);
    $scope.$emit("Ctr1NameChange", name);
  };
}).controller("childCtr2", function ($scope) {
  $scope.$on("Ctr1NameChangeFromParrent",
  function (event, msg) {
    console.log("childCtr2", msg);
    $scope.ctr1Name = msg;
  });
});

這里childCtr1的name改變會以冒泡傳遞給父controller,而父controller會對事件包裝在廣播給所有子controller,而childCtr2則注冊了change事件,并改變自己。注意父controller在廣播時候一定要改變事件name

jsfiddle鏈接:http://jsfiddle.net/whitewolf/5JBA7/15/

希望本文所述對大家AngularJS程序設(shè)計有所幫助。

相關(guān)文章

  • 詳解AngularJS中自定義過濾器

    詳解AngularJS中自定義過濾器

    過濾器(filter)正如其名,作用就是接收一個輸入,通過某個規(guī)則進(jìn)行處理,然后返回處理后的結(jié)果。主要用在數(shù)據(jù)的格式化上,例如獲取一個數(shù)組中的子集,對數(shù)組中的元素進(jìn)行排序等
    2015-12-12
  • angular中的observable問題

    angular中的observable問題

    這篇文章主要介紹了angular中的observable問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Angularjs的ng-repeat中去除重復(fù)數(shù)據(jù)的方法

    Angularjs的ng-repeat中去除重復(fù)數(shù)據(jù)的方法

    這篇文章主要介紹了Angularjs的ng-repeat中去除重復(fù)數(shù)據(jù)的方法,涉及AngularJS針對重復(fù)數(shù)據(jù)的遍歷與過濾技巧,需要的朋友可以參考下
    2016-08-08
  • AngularJS入門教程之?dāng)?shù)據(jù)綁定原理詳解

    AngularJS入門教程之?dāng)?shù)據(jù)綁定原理詳解

    這篇文章主要介紹了AngularJS數(shù)據(jù)綁定原理,較為詳細(xì)的分析了AngularJS數(shù)據(jù)綁定的原理、使用技巧與相關(guān)注意事項,需要的朋友可以參考下
    2016-11-11
  • Angular 2使用路由自定義彈出組件toast操作示例

    Angular 2使用路由自定義彈出組件toast操作示例

    這篇文章主要介紹了Angular 2使用路由自定義彈出組件toast操作,結(jié)合實例形式分析了Angular2使用路由操作彈出組件toast相關(guān)定義與使用技巧,需要的朋友可以參考下
    2019-05-05
  • AngularJS ionic手勢事件的使用總結(jié)

    AngularJS ionic手勢事件的使用總結(jié)

    本篇文章主要介紹了AngularJS手勢事件的使用總結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • AngularJS自定義控件實例詳解

    AngularJS自定義控件實例詳解

    這篇文章主要介紹了AngularJS自定義控件,結(jié)合實例形式詳細(xì)分析了AngularJS自定義指令與模板操作的相關(guān)函數(shù)與使用技巧,需要的朋友可以參考下
    2016-12-12
  • AngularJS1.X學(xué)習(xí)筆記2-數(shù)據(jù)綁定詳解

    AngularJS1.X學(xué)習(xí)筆記2-數(shù)據(jù)綁定詳解

    本篇文章主要介紹了AngularJS1.X學(xué)習(xí)筆記2-數(shù)據(jù)綁定詳解,具有一定的參考價值,有興趣的可以了解一下。
    2017-04-04
  • angularjs 的數(shù)據(jù)綁定實現(xiàn)原理

    angularjs 的數(shù)據(jù)綁定實現(xiàn)原理

    本篇文章主要介紹了angularjs 的數(shù)據(jù)綁定實現(xiàn)原理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • AngularJS雙向綁定和依賴反轉(zhuǎn)實例詳解

    AngularJS雙向綁定和依賴反轉(zhuǎn)實例詳解

    這篇文章主要介紹了AngularJS雙向綁定和依賴反轉(zhuǎn)實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-04-04

最新評論

宝清县| 铜梁县| 浦县| 阿图什市| 平阴县| 呼图壁县| 太仓市| 文昌市| 班戈县| 新野县| 北辰区| 福泉市| 平安县| 莱西市| 周口市| 偃师市| 荥阳市| 治多县| 朔州市| 万载县| 天祝| 宁蒗| 嘉义市| 卢龙县| 溧阳市| 抚顺县| 岳普湖县| 伊金霍洛旗| 明光市| 怀宁县| 吉木乃县| 太原市| 石林| 蓬莱市| 阜康市| 凯里市| 武川县| 长治市| 贵港市| 时尚| 黄山市|