angular 的指令参数如何理解link

function link(scope, iElement, iAttrs, controller) { ... }

谁能够举个例子来说说明一些,angular的指令中attr具体是指哪里吗?

下面的attrs.data这中的data如何获取,或者设置在哪里?在<demo></demo>如何写

app.directive('demo',function(){

return{
        
       template: '<div></div>',
        link : function(scope, element, attrs){            
            if($.trim(attrs.data).length>0){
            
            
            }
        },
       }

}
)



html:

<demo></demo>
阅读 3.8k
1 个回答

link函数的执行时机为angular编译此模板之后。4个参数:

  1. scope 当前directive的作用域,是否独立由scope参数决定

  2. element 当前directive的dom element 用angular.element(element)包裹以后形成jqlite/jquery对象

  3. attrs directive对应的属性。举例的话

<demo data='some data'></demo>

中attrs.data 就是'some data' 是写死的,如果想绑定的话必须独立作用域。

  1. controller 被require进来的directive所提供的方法, 如果require了多个, controller将会是一个数组。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进