亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

Angularjs中三種數據的綁定策略(“@”,“=”,“&”)

2019-11-19 18:18:36
字體:
來源:轉載
供稿:網友

前言

我們想要實現這樣的效果:當我們點擊標題的時候展示下面的內容,再點擊則收回去。

一、首先回顧一下有哪些綁定策略?

看這個實在是有點抽象了,我們來看具體的實例分析吧!

二、簡單的Demo實例

@綁定:傳遞一個字符串作為屬性的值。

比如 str : ‘@string'

控制器中代碼部分示例:

myDirec.controller('MyCtrl3',['$scope',function($scope){ $scope.ctrlFlavor="雞尾酒";  $scope.sayHello=function(name){ alert("Hello "+name); }; }]);myDirec.directive("drink",function(){ return{  restrict:'AE',  scope:{  flavor:'@' //自動綁定,傳遞的是字符串  },  template:"<div>{{flavor}}</div>", };});

頁面中使用標簽部分示例:

<div ng-controller="MyCtrl3"> <drink flavor="{{ctrlFlavor}}"></drink> </div>

分析我們在drink指令中為什么能取得在父作用域中的值呢?原因就在于我們使用了@綁定策略,可以將ctrlFlavor賦值給flavor,這樣在模板中就能取到該值了。

=綁定:指定獲取屬性的類型為父作用域的屬性

myDirec.directive("drink2",function(){ return{ restrict:'AE', scope:{  flavor:'=' //自動綁定 }, template:'<input type="text" ng-model="flavor"/>' };});

頁面:

<div ng-controller="MyCtrl3"> <drink2 flavor="ctrlFlavor"></drink2> </div>

執行的流程是這樣的:

  ① 指令被編譯的時候會掃描到template中的模型發現有一個flavor,

 ?、?查找scope中是否定義:通過=與父作用域綁定,方式是傳遞父作用域中的屬性ctrlFlavor;

 ?、?flavor與父作用域中的ctrlFlavor屬性綁定,找到它的值“雞尾酒”;

  ④ 將model的值顯示在模板中。

&綁定:傳遞的是父作用域中的函數

控制器部分:

myDirec.directive("greeting", function() { return { restrict:'AE', scope:{  greet:'&' }, template:'<input type="text" ng-model="userName" /><br/>'+   '<button ng-click="greet({name:userName})">問候一下</button><br/>' };});

頁面部分:

<div ng-controller="MyCtrl3">  <greeting greet="sayHello(name)"></greeting>  <greeting greet="sayHello(name)"></greeting>  <greeting greet="sayHello(name)"></greeting></div>

從結果上看,三個輸入框中的內容互不影響,因為都是新的獨立作用域,能夠完成從視圖到模型的綁定。

三、Expander示例

首先看控制器代碼:

/*Expander示例*/myDirec.controller('SomeController',function($scope) { $scope.title = '點擊展開'; $scope.text = '這里是內部的顯示的內容';});myDirec.directive('expander', function() { return { restrict : 'EA', replace : true, transclude : true, scope : {  title : '=expanderTitle' }, template : '<div>'   + '<div class="title" ng-click="toggle()">{{title}}</div>'   + '<div class="body" ng-show="showMe" ng-transclude></div>'   + '</div>', link : function(scope, element, attrs) {  scope.showMe = false;  scope.toggle = function() {  scope.showMe = !scope.showMe;  }; } };});

再看頁面部分:

<div ng-controller='SomeController'> <expander class='expander' expander-title='title'> {{text}} </expander> </div>

執行的流程是這樣的:

  ① 指令被編譯的時候會掃描到template中的模型發現有一個{{title}},

 ?、?查找scope中是否定義:通過=與父作用域綁定,方式是傳遞父作用域中的屬性;

我總是在這里犯糊涂,解釋下這個“方式是傳遞父作用域中的屬性”,這個在哪里用的呢?

<div ng-controller='SomeController'> <expander class='expander' expander-title='title'> {{text}} </expander> </div>

看到沒,指令中的屬性expander-title='title',這不就是傳遞父作用域中的屬性嗎?

  ③ expander-title與父作用域中的title屬性綁定,找到它的值“點擊展開”;

  ④ 將title的值顯示在模板中。

注意:指令中的獨立作用域中的屬性title是為了給下面的模板使用 的,而title所對應的值,要依據頁面中指令的使用傳人具體的父作用域中的屬性,完成屬性的綁定操作。

總之、我們可以利用angularjs為我們提供的數據綁定策略來實現從父作用域向指令中傳值,這個很有用哦!

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色偷偷偷综合中文字幕;dd| 亚洲欧美精品suv| 久久99精品视频一区97| 国产噜噜噜噜久久久久久久久| 欧美一级免费视频| 日韩av一区在线| 国产z一区二区三区| 日韩av网站在线| 最新中文字幕亚洲| 久久久久久久电影一区| 亚洲精品成人久久久| 一区二区三区回区在观看免费视频| 日本国产精品视频| 久久久久久亚洲精品| 欧美激情喷水视频| 日韩在线观看免费全| 一区二区三区天堂av| 伊人成人开心激情综合网| 国产精品日韩av| 久久久精品在线| 中文字幕欧美日韩在线| 亚洲第一男人天堂| 亚洲福利视频网站| 国模gogo一区二区大胆私拍| 亚洲精品动漫100p| 亚洲精品一区中文| 日本欧美黄网站| 日韩中文在线观看| 欧美极品少妇与黑人| 精品久久久久人成| 日韩在线观看电影| 欧美日韩国产中文字幕| 亚洲区中文字幕| 中文字幕亚洲欧美| 亚洲在线视频福利| 国产精品久久久久久五月尺| 中文字幕精品在线| 成人在线国产精品| 久久天天躁狠狠躁夜夜爽蜜月| 日韩美女视频免费看| 欧美最猛性xxxx| 欧美影院久久久| 亚洲天堂av在线免费观看| 国产成人精品久久二区二区91| 国产精品久久在线观看| 日韩美女在线看| 亚洲色图狂野欧美| 色综久久综合桃花网| 成人免费观看a| 久热精品视频在线观看| 日韩精品电影网| 色婷婷亚洲mv天堂mv在影片| 欧美一级高清免费| 久久色精品视频| 亚洲国产欧美日韩精品| 欧美视频免费在线观看| 国产aⅴ夜夜欢一区二区三区| 亚洲97在线观看| 精品中文字幕乱| 久久久天堂国产精品女人| 日韩精品极品在线观看播放免费视频| 另类专区欧美制服同性| 亚洲精品久久久久久久久| 亚洲大胆美女视频| 欧美精品videofree1080p| 精品中文视频在线| 国产欧美一区二区三区在线看| 国产精品久久久久久久app| 麻豆国产精品va在线观看不卡| 日本午夜人人精品| 国产精品欧美风情| 中文.日本.精品| 最近2019中文字幕mv免费看| 国产精品视频久| 国产裸体写真av一区二区| 国产精品视频1区| 久久精品91久久久久久再现| 亚洲国模精品私拍| 亚洲精品国产福利| 久久九九国产精品怡红院| 国内精久久久久久久久久人| xxx欧美精品| 欧美激情精品久久久久久久变态| 欧美日韩一区二区免费在线观看| 青草青草久热精品视频在线网站| 精品久久久久久久久国产字幕| 国产午夜精品视频免费不卡69堂| 成人精品久久av网站| 久久av在线播放| 国产视频999| 欧美激情在线狂野欧美精品| 国产成人综合亚洲| 日韩av在线精品| 国产精品1区2区在线观看| 欧美肥臀大乳一区二区免费视频| 精品国产一区二区三区在线观看| 日韩视频第一页| 国内精品小视频| 亚洲3p在线观看| 欧美一级黑人aaaaaaa做受| 综合久久五月天| 日韩电影大片中文字幕| 国产午夜精品理论片a级探花| 亚洲精品av在线播放| 久久久97精品| 国产在线不卡精品| 欧美成人在线免费| 欧美又大又粗又长| 国产亚洲欧美aaaa| 日韩精品一二三四区| 欧美日韩不卡合集视频| 亚洲免费成人av电影| 亚洲成人精品久久久| 国产精品久久久久久久久| 久久天天躁狠狠躁夜夜躁| 久久99精品久久久久久噜噜| 国产精品成av人在线视午夜片| 岛国视频午夜一区免费在线观看| 国产精品久久一区主播| 91天堂在线观看| 91夜夜未满十八勿入爽爽影院| 久久久精品在线观看| 91老司机精品视频| 亚洲成人网在线观看| 欧美日韩在线影院| 日本欧美在线视频| 色999日韩欧美国产| 精品久久久久久久久国产字幕| 91精品国产91久久久久久不卡| 精品电影在线观看| 亚洲精品99999| 国产一区二区av| 国产欧美精品久久久| 国产精品一区二区三区免费视频| 久久精品亚洲国产| 欧美性猛交xxxx免费看漫画| 亚洲欧美精品一区二区| 欧美极品美女电影一区| 欧美交受高潮1| 日韩美女在线观看| 亚洲国产成人精品久久久国产成人一区| 中文字幕精品—区二区| 欧美激情综合色综合啪啪五月| 热久久99这里有精品| 亚洲欧美在线x视频| 欧美激情二区三区| 欧美一级黑人aaaaaaa做受| 日韩精品中文字幕在线播放| 国产激情综合五月久久| 伊人精品在线观看| 欧美日韩加勒比精品一区| 亚洲有声小说3d| 久久人人爽人人爽人人片av高清| 精品久久久999| 欧美夫妻性生活视频| 国产精品三级网站| 亚洲激情视频在线观看| 精品动漫一区二区三区| 国产成人精品网站| 亚洲深夜福利网站| 日韩久久午夜影院| 成人一区二区电影| 国产专区精品视频| 91午夜理伦私人影院|