В последнее время мне нужно сделать элемент ввода работать как с ng-disabled, так и с настраиваемой директивой, которая использует изолированную область для оценки выражения так же, как то, что делает ng-disabled, так как пользовательская директива работает нормально, но ng-disabled doesn ' t, так как он оценивает выражение только в изолированном объеме.
Пользовательская директива довольно проста:
angular
.module('directives', [])
.directive('conditionalAutofocus', function () {
return {
restrict:'A',
scope:{
condition:'&conditionalAutofocus'
},
link:function (scope, element, attrs) {
if (scope.condition()) {
attrs.$set('autofocus','true');
}
}
}
});
в то время как страница выглядит следующим образом:
<input name="pin"
ng-model="pin"
type="password"
required
ng-disabled="names == null"
conditional-autofocus="names != null" />
У кого-нибудь уже есть решение для этой проблемы?
Спасибо заранее! Янни