我有一个选择和一个输入文本元素。根据所选的选项,我需要在输入文本元素中添加或删除指令。
是否可以在某些定义的函数中执行此操作,例如在select元素中的ng-change,如下所示:
ng-change = changeInputValidation()
?
如果有可能怎么做?
答案 0 :(得分:2)
在新指令中,一种方法就是这样:
HTML:
<div ng-app="app">
<div id="abc" blue-text>Abc</div>
<br/>
<button remove-blue-text="abc">Remove Directive</button>
</div>
JS:
var app = angular.module('app', []);
app.directive('blueText', function () {
return {
link: function (scope, elem, attrs) {
elem.css('background', 'blue');
}
};
});
app.directive('removeBlueText', function ($compile) {
return {
scope: {
idToRemove: "@removeBlueText"
},
link: function (scope, elem, attrs) {
elem.on('click', function () {
var elem = angular.element(document.getElementById(scope.idToRemove));
var newHtml = '<div id="abc">Abc</div>';
$compile(newHtml)(scope, function (el) {
elem.replaceWith(el);
});
});
}
};
});