我有一个元素,我想仅在未禁用另一个表单元素时显示。
<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来完成吗?
谢谢!
答案 0 :(得分:5)
我认为你没有正确使用Angular。您不应该基于另一个元素的状态来确定元素的可见性。
这两个元素都应该取决于模型:
<input ng-model="myModel" ng-disabled="isDisabled">
<div ng-hide="isDisabled">
基本上,视图反映了模型,不检查DOM,也不使用jQuery。您也可以使用ng-hide
代替ng-show和!