搜索

首页  >  问答  >  正文

angular.js - angular 的指令参数如何理解link

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>
给我你的怀抱给我你的怀抱2744 天前495

全部回复(1)我来回复

  • 大家讲道理

    大家讲道理2017-05-15 17:06:05

    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将会是一个数组。

    回复
    0
  • 取消回复