1

我有一个元素,我只想在另一个表单元素未被禁用时才显示。

<input ng-model="myModel">

以下都不起作用:

<div ng-show="myModel">

这将显示输入是否被禁用,只要它在过去设置了一个值。

<div ng-show="myModel.enabled">
<div ng-show="!myModel.disabled">

那些道具似乎不存在。

<div ng-show='!angular.element(po.vendor__contact).prop("disabled")'>

认为询问jQuery是否被禁用可能会起作用,但事实并非如此。

有没有办法在 Angular 指令中引用元素是否启用?可以通过询问jQuery来完成吗?

谢谢!

小提琴:http: //jsfiddle.net/ADukg/3197/

4

1 回答 1

5

我认为您没有以正确的方式使用 Angular。您不应该基于另一个元素的状态来确定元素的可见性。

这两个元素都应取决于模型:

<input ng-model="myModel" ng-disabled="isDisabled">
<div ng-hide="isDisabled">

基本上,视图反映了模型,不检查 DOM,也不使用 jQuery。您也可以使用ng-hideng-show 和 !

编辑:http: //jsfiddle.net/ADukg/3198/

于 2013-06-20T09:53:19.230 回答