directive scope選項與繫結策略

2022-09-08 09:18:09 字數 1451 閱讀 7137

scope 有true(以強制建立乙個單獨的範圍) 和 false (default);

當scope選項寫為scope:{}這種形式的時候,就已經為指令生成了隔離作用域,現在,我們來看看繫結策略的三種形式:& 、= 、@。

指令**:

angular.directive('mydirective', function

() ...

};});

繫結策略一   @ :

它與 }一起使用,並且將始終返回乙個字串。

它將本地作用域和dom中的屬性值繫結起來(且這個屬性的值必須是父級作用域中的),說的簡單一點就是假設你在模板中有個雙花括號表示式,然後我們把表示式裡的內容和html中指令裡特定名字的屬性繫結起來,看看下面的**:

directive("direct",function

()}',

scope:

} })

.controller("namecontroller",function

($scope));

html **:

for-name="}">

}成功地與父控制器中的name繫結起來了。當然這裡也可以這樣寫name:'@' 這樣寫的話,就預設dom中的屬性名為name了意

即 for-name="}"可簡寫為name="}";

繫結測量二   = :

使用物件的引用,而不是單純的字串,這也是=可以進行雙向繫結的關鍵。

它傳遞乙個引用到您的指令中的物件。它可以表達與分離的範圍同步的屬性,從而允許雙向繫結。

js **:

directive("direct",function

() }

}).controller("namecontroller",function

($scope),];

});

html **:

繫結測量三  @:

它的含義是:對父級作用域進行繫結,並將其中的屬性包裝成乙個函式,注意,是屬性,意即,任何型別的屬性都會被包裝成乙個函式,比如乙個單純的字串,或是乙個物件陣列,或是乙個函式方法。

在該指令中,它將作為乙個函式,即在呼叫時執行通過表示式。使用它

如下** :

js指令:

return

, template: 'click'...

}

總結:

為指令建立隔離作用域的同時,還能訪問到父級中的屬性 ,可以整合和擴充套件第三方外掛程式

選羊選車問題

有三個門,兩個羊乙個車。嘉賓選擇乙個門後,主持人開啟另外兩個門中的乙個,門裡是羊。嘉賓改選或者不改選。門後有車就中大獎。否則什麼都沒有。記得當年做這個題目的時候就與小李子和瘋子爭論的不休。當時時至今日仍然不能完全確定這是個概率問題。其實這個不完全是概率問題 因為概率中只是考慮了出現結果的可能性。但是...

九選六 九選三

駕照考試的一種方法,九選六 九個科目必須選六個科目參加考試。九選三 九個科目必須選三個科目參加考試 1 百公尺加減擋 考試目的 考核駕駛人對車輛擋位的熟練掌握。考試要求 車輛由百公尺起點線處起步,在百公尺內完成從最低擋逐級到最高擋的加速,以及再從最高擋逐級到二擋的減速過程。2 起伏路駕駛 考試目的 ...

TYVJ1579(選選位址)

演算法 最短路 其實這道題就是一道簡單的最短路 列舉,用floyd求出每兩個點之間的距離,最後列舉一遍設定城市的點,選乙個最小值即可。不知道當時考試的時候為什麼錯了 難道是沒開無向圖?program p1579 const maxn 200 var n,min,p longint a array 0...