Heim > Fragen und Antworten > Hauptteil
function link(scope, iElement, iAttrs, controller) { ... }
谁能够举个例子来说说明一些,angular的指令中attr具体是指哪里吗?
下面的attrs.data这中的data如何获取,或者设置在哪里?在<demo></demo>如何写
app.directive('demo',function(){
return{
template: '<p></p>',
link : function(scope, element, attrs){
if($.trim(attrs.data).length>0){
}
},
}
}
)
html:
<demo></demo>
大家讲道理2017-05-15 17:06:05
link函数的执行时机为angular编译此模板之后。4个参数:
scope 当前directive的作用域,是否独立由scope参数决定
element 当前directive的dom element 用angular.element(element)包裹以后形成jqlite/jquery对象
attrs directive对应的属性。举例的话
<demo data='some data'></demo>
中attrs.data 就是'some data' 是写死的,如果想绑定的话必须独立作用域。
controller 被require进来的directive所提供的方法, 如果require了多个, controller将会是一个数组。