【发布时间】:2014-12-15 09:59:29
【问题描述】:
如果有条件地在元素上添加属性,我想调用指令,但我没有得到任何解决方案。
HTML
<input type="text" max-length="{{max_length}}" myElement/>
下面是指令
App.directive('maxlengthCounter', function($compile, $parse) {
return {
require : 'ngModel',
scope : {},
link : function(scope, element, attrs, ngModel) {
var maxLength = parseInt(attrs.maxLength);
if (maxLength) {
element.bind("keyup", function() {
var value = element[0].value;
element.val(value.substr(0, maxLength));
});
}
}
};
});
并有条件地在元素上添加一个属性
App.directive('myElement',function(){
return {
restrict:"A",
scope : {},
link : function(scope, element, attrs, ngModel) {
(attrs.max_length>0?angular.element(element).attr("maxlength-
counter",""):'');
$compile(element.html())(scope);
}
});
【问题讨论】:
-
显示一些代码,你尝试了什么?
-
实际上我已经创建了一个指令并有条件地在元素上添加了一个属性,然后指令不会被调用..但是如果我静态添加属性然后指令被调用
-
再次发布您的代码。
-
现在,提供解决方案..
标签: angularjs angularjs-directive