function link(scope, iElement, iAttrs, controller) { ... }
誰能夠舉例來說說明一些,angular的指令中attr具體是指哪裡嗎?
下面的attrs.data這中的data如何獲取,或者設定在哪裡?在
app.directive('demo',function(){
return{
template: '<p></p>',
link : function(scope, element, attrs){
if($.trim(attrs.data).length>0){
}
},
}
}
)
html:
<demo></demo>
link函數的執行時機為angular編譯此模板之後。 4個參數:
scope 目前directive的作用域,是否獨立由scope參數決定
element 當前directive的dom element 用angular.element(element)包裹以後形成jqlite/jquery物件
attrs directive對應的屬性。舉例的話
中attrs.data 就是'some data' 是寫死的,如果想綁定的話必須獨立作用域。
controller 被require進來的directive所提供的方法, 如果require了多個, controller將會是一個數組。