我正在尝试使用指令来创建并附加多个标签到一个 <div>
中,如下所示:
module.directive('createControl', function(){
return function(scope, element, attrs){
console.log(attrs.createControl); // undefined
}
});
<div class="control-group" ng-repeat="(k, v) in selectedControls">
<div create-control="{{ v.type }}"></div>
</div>
在attrs中我有这个结构:
$$element: b.fn.b.init[1]
$$observers: Object
$attr: Object
createControl: "date"
style: "margin-right: 15px"
__proto__: Object
但是当我尝试使用attrs.createControl
时,我得到了undefined
,我不明白为什么。实际问题是:如何将作用域变量传递给指令?
create-control
(连字符分隔的小写)属性匹配的指令(驼峰式命名)。 - isherwood'@'
由于某种原因无法使用。2.)还可以使用多个变量进行应用,例如<create-control val1="v.type" value-two="x.y"></create-control>
。请注意,指令范围定义(valueTwo
)中的value-two
也会变为驼峰命名法。3.) 变量周围不能有{{}}
(例如,没有...="{{v.type}}"
)。 - phil294