【发布时间】:2015-10-07 09:43:26
【问题描述】:
我希望能够从两个地方设置任何控件的禁用属性。在控件本身上,基于在视图本身中硬编码的规则。并且来自基于外部服务中定义的规则的指令。
当指令将 disabled 设置为 true 时,不应被控件上定义的内容覆盖。但是,当指令将 disabled 设置为 false 时,控件上定义的内容应该触发。
我希望这是有道理的。到目前为止,我有这段代码,但它不能按我想要的方式工作。
<input check-edit-matrix type="checkbox"
data-ng-model="model.isPrivate"
ng-disabled="model.isDeleted || model.isConfidential" />
(function () {
'use strict';
var directiveId = 'checkEditMatrix';
angular.module('common.directives')
.directive(directiveId, ['dataService', directiveFunc]);
function directiveFunc(dataService) {
return {
restrict: 'A',
scope: {
},
link: function (scope, element, attrs) {
attrs['disabled'] = 'disabled';
//if (attrs['disabled'] === 'disabled') {
// alert('already disabled !')
//}
}
};
}
})();
【问题讨论】:
标签: angularjs angularjs-directive directive