Javascript 仅当字段为';他没有残疾

Javascript 仅当字段为';他没有残疾,javascript,html,angularjs,forms,input,Javascript,Html,Angularjs,Forms,Input,如何仅在未禁用字段的情况下才需要该字段?这不起作用: <form name="foo"> <input type="text" name="bar" ng-required="!foo.bar.disabled"> </form> $on消息来自不同的作用域,因此我无法直接引用它并使用ng disabled=..将ng disabled与作用域变量一起使用。然后,您的指令可以通过此范围变量启用/禁用输入。如果您的指令从另一个作用域继承,请使用中间工厂来管

如何仅在未禁用字段的情况下才需要该字段?这不起作用:

<form name="foo">
  <input type="text" name="bar" ng-required="!foo.bar.disabled">
</form>

$on
消息来自不同的作用域,因此我无法直接引用它并使用
ng disabled=..
ng disabled
与作用域变量一起使用。然后,您的指令可以通过此范围变量启用/禁用输入。如果您的指令从另一个作用域继承,请使用中间工厂来管理作用域变量

$scope.barDisabled = dataSharer.barDisabled;
在上面的示例中,
datashare
是一个工厂,
barDisabled
指向singleton

以您的形式:

<form name="foo">
  <input type="text" name="bar" ng-required="!bartDisabled" ng-disabled="barDisabled">
</form>


提供重现问题的演示。我们不知道您的服务代码是做什么的…或者为什么您需要从服务而不是通过驱动视图的模型数据与dom交互。您可以添加服务代码吗?您是否检查了foo.bar.disabled以查看代码执行期间的值???@charlietfl抱歉,我是指指令。它执行(在执行各种操作后,包括在消息上侦听
$)
元素。查找(':input')。prop('disabled',true)这很管用,但却让我很伤心,因为每个输入行对何时显示或隐藏都有不同的要求,但只有一个范围变量。不过我确实让它起作用了。真的没有别的办法吗?@Ariel是的。在您的范围内具有
inputReq
对象。此对象应该有许多字段
inputReq.foo
inputReq.bar
等。这些字段中的每个字段也都禁用了半字段。现在,您可以使用此对象映射许多输入字段的需求<代码>
如果有什么问题,请告诉我。
<form name="foo">
  <input type="text" name="bar" ng-required="!bartDisabled" ng-disabled="barDisabled">
</form>