我想要做的是创建一个元素指令,它可以具有可绑定的属性,并且可以使用静态值。
实施例。我有一个指令myTag应该支持某些功能的启用/禁用......我希望这个像
一样工作<my-tag enable_f1="true" enable_f2="true" />
或喜欢
<my-tag enable_f1="{{mc.someVal1}}" enable_f2="{{mc.someVal2}}" />
现在我如何编写链接方法,以支持绑定到属性以及静态值?
angular.module('TestModule',[])
.directive('myTag',function() {
return {
restrict: 'E',
templateUrl: '<div></div>',
link: function (scope, element, attrs){
//I can get attrs.enable_f1, attrs.enable_f2, but what if it is bound to model?
}
}
});
答案 0 :(得分:2)
您可以拥有一个获取这些值的隔离范围:
HTML:
<my-tag enable-f1="mc.someVal1" enable-f2="mc.someVal2"></my-tag>
<my-tag enable-f1="true" enable-f2="false"></my-tag>
指令:
myApp.directive('myTag',function() {
return {
restrict: 'E',
template: '<div></div>',
scope: {
enableF1: '=',
enableF2: '='
},
link: function (scope, element, attrs){
console.log(scope.enableF1);
console.log(scope.enableF2);
}
}
});