最近我必须让 Input 元素同时使用 ng-disabled 和自定义指令,它使用隔离范围来评估表达式,就像 ng-disabled 正在做的那样,不知何故,自定义指令可以正常工作,但 ng-disabled 不能,因为它只评估孤立范围内的表达式。
自定义指令非常简单,例如:
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" />
有人已经有这个问题的解决方案了吗?
提前致谢!雅尼