我有两个指令,一个是避免剪切,复制和粘贴,另一个是设置字符数限制。当我单独使用这些指令时,我没有收到任何错误,但当我尝试在单个html输入框中使用它们时,我收到此错误:
[$ compile:multidir]多个指令[limitChar(module:main),stopccp(module:main)]要求新的/隔离范围:
剪切复制指令:
angular.module('main')
.directive('stopccp', function (){
return {
restrict: 'EA',
scope: {},
link:function (scope, element) {
element.on('cut copy paste', function (event) {
event.preventDefault();
});
}
};
});
文本长度指令:
angular.module('main')
.directive('limitChar', function() {
return {
restrict: 'A',
scope: {
limit: '=limit',
ngModel: '=ngModel'
},
link: function(scope) {
scope.$watch('ngModel', function(newValue, oldValue) {
if (newValue) {
var length = newValue.toString().length;
if (length > scope.limit) {
scope.ngModel = oldValue;
}
}
});
}
};
})
HTML:
<input type="text" stopccp placeholder="{{'notes_message' | translate}}"
ng-model="vm.advance.description" id="field2" ng-change="vm.fillStarted()"
limit-char limit="15">
最初没有对stopccp指令的限制。之后,我限制为E,我没有得到任何错误,但我能够剪切,复制和粘贴。所以任何人都可以告诉我该怎么做。