国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

詳解angularJs指令的3種綁定策略

2024-05-06 15:18:28
字體:
來源:轉載
供稿:網友

今天,我來談談angularJs指令的3種綁定策略。

公司最近大量使用angularJs做單頁面應用,就免不了使用angularJs的一些組件,而有的組件網上有現成的,不必操心,而有的就得自食其力,先前對指令這一塊的封裝一直理解的不夠,故每次使用directive時抽象性都做得不好,往往移植性很差,而要將抽象做好,就不得不使用指令中的隔離作用域,而光有隔離作用域又不能做好前后文的通信問題,要解決通信的問題,就要使用指令中的綁定,正好最近要用,順便就整理了一些關于指令中的3種綁定策略,并談了一些自己的理解。

angularJs中指令scope隔離域綁定有3種策略:如

.directive("abc",function(){   return {     scope:{                  title:"@",              name:"=",              changeNum:"&"         } /* 出現了scope就表示這個指令的scope是獨立的,但如果要與外界聯系,就要使用綁定策略*//*使用@符號可將本地作用域的變量與DOM屬性的值進行綁定,即我們通過@得到title屬性的值*//*使用=符號可將本地作用域上的屬性與父級作用域上的屬性進行雙向綁定,即我們通過=得到name的引用。可以同值傳遞和引用傳遞的理解相結合*//*使用&符號可以對父級作用域進行綁定,以便在其中運行函數,簡單說就是綁定函數用的*/   }})

舉一個詳細的例子:

HTML:

<div ng-controller="test"><div>AngularJs指令的三種綁定策略</div><example title="titleExample" name="nameExample" send-message="parentSendMessage('example')"></example></div>

說明:example是自定義的指令,用以展示指令的三種綁定策略。

使用@來綁定title,以獲取DOM中的屬性值。

   directive:   myApp.directive("example",function(){    return {      restrict:"E",      scope:{        title:"@",       },      link:function($scope,element,attrs){        console.log($scope.title); ==> titleExample      }    }    })

說明:@綁定策略,可以將title值與父級作用域的值綁定,比如父級作用域有一個屬性是testTitle,我們想將指令中的title屬性的值與父級作用域中testTitle的值綁定,故我們可以在HTML將指令改寫成<example title={{testTitle}}></example>,這樣我們就可以在.directive中通過子作用域中的$scope.title獲取到父級作用域$scope.testTitle的值。

使用=來綁定name,以將子作用域與父作用域的屬性進行雙向綁定。

   directive:   myApp.directive("example",function(){    return {      restrict:"E",      scope:{        name:"=",      },      link:function($scope,element,attrs){        console.log($scope.name); ==> nameTest      }    }   })       //父級作用域的控制器   controller:   myApp.controller("test",function($scope){     $scope.nameExample = "nameTest"   })            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 承德市| 泰安市| 五大连池市| 榆树市| 田东县| 抚顺县| 罗源县| 深圳市| 郎溪县| 青州市| 钟山县| 岐山县| 武乡县| 蓝山县| 醴陵市| 天峨县| 天水市| 临桂县| 偃师市| 汝南县| 全南县| 营口市| 甘德县| 浪卡子县| 谢通门县| 泌阳县| 波密县| 乐清市| 安多县| 龙岩市| 清涧县| 左权县| 将乐县| 津市市| 武胜县| 双柏县| 裕民县| 开阳县| 建德市| 泸定县| 新绛县|