如果字段未被禁用,我怎么才能要求字段?这没有用:
<form name="foo">
<input type="text" name="bar" ng-required="!foo.bar.disabled">
</form>
请注意,我是通过纯javascript直接禁用该字段,而不是ng-disabled
。我有directive
贯穿表单启用/禁用内容。
该指令侦听$on
消息,并根据获取的内容运行:
element.find(':input').prop('disabled', true);
$on
消息来自不同的范围,因此我无法直接引用它并执行ng-disabled=....
。
答案 0 :(得分:2)
将ng-disabled
与范围变量一起使用。然后,您的指令可以通过此范围变量启用/禁用输入。如果您的指令继承自另一个范围,请使用中间工厂来管理范围变量。
$scope.barDisabled = dataSharer.barDisabled;
在上面的示例中,dataSharer
是工厂,barDisabled
指向单身。
以您的形式:
<form name="foo">
<input type="text" name="bar" ng-required="!bartDisabled" ng-disabled="barDisabled">
</form>