我有一个指令:
app.directive('testDir', [function () {
return {
require: '?ngModel',
link: function ($scope, elm, attr, ngModel) {
var abc=attr.testDir;
var def=< The value zzz >
}
};
}])
我知道我可以这样称呼:
<div test-dir='abcd'>xx</div>
如果我还需要传递参数'zzz',该怎么办?如何将多个参数传递给我的指令?
答案 0 :(得分:2)
使用多个属性。您的指令可以访问元素中使用的所有属性:
<div my-directive arg-one='abcd', arg-two>xx</div>
app.directive('myDirective', function () {
return {
link: function ($scope, elm, attr, ngModel) {
var abc=attr.argOne;
var def=attr.argTwo;
}
};
});
注意从-
到camelCase的更改。这是由AngularJS完成的。
答案 1 :(得分:0)
您可以使用类似的数组
<div test-dir='["abcd","zzz"]'>xx</div>
然后在你的指令中你可以做
var abc = JSON.parse(attr.testDir); // = Array ["abcd","zzz"]