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

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

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

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

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

Angularjs為在scope中為我們提供了冒泡和隧道機(jī)制,$broadcast會(huì)把事件廣播給所有子controller,而$emit則會(huì)將事件冒泡傳遞給父controller,$on則是angularjs的事件注冊(cè)函數(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改變會(huì)以冒泡傳遞給父controller,而父controller會(huì)對(duì)事件包裝在廣播給所有子controller,而childCtr2則注冊(cè)了change事件,并改變自己。注意父controller在廣播時(shí)候一定要改變事件name。

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

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

相關(guān)文章

  • 詳解AngularJS中自定義過(guò)濾器

    詳解AngularJS中自定義過(guò)濾器

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

    angular中的observable問(wèn)題

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

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

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

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

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

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

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

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

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

    AngularJS自定義控件實(shí)例詳解

    這篇文章主要介紹了AngularJS自定義控件,結(jié)合實(shí)例形式詳細(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ù)綁定詳解,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2017-04-04
  • angularjs 的數(shù)據(jù)綁定實(shí)現(xiàn)原理

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

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

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

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

最新評(píng)論

佛教| 长治市| 阳山县| 平利县| 波密县| 米易县| 仁化县| 棋牌| 周口市| 新乐市| 皋兰县| 原阳县| SHOW| 麻阳| 罗江县| 施甸县| 庆元县| 锦屏县| 青铜峡市| 泉州市| 八宿县| 深水埗区| 浦城县| 三河市| 行唐县| 德化县| 泽州县| 内黄县| 门源| 宝丰县| 米泉市| 南阳市| 闸北区| 忻城县| 江阴市| 增城市| 尚义县| 江西省| 乌鲁木齐市| 东宁县| 新竹市|