如果$ scope.myVar存在,则将属性添加到HTML元素

时间:2015-03-07 10:51:59

标签: angularjs

如果disabled为空,我想在输入中添加$scope.myVar属性,并在$scope.myVar不为空时将其删除。这样做的最佳方式是什么?

示例输入:

<input name="foo" ng-model="bar" />

我知道我们可以对整个元素执行ng-if,但我找不到任何特定属性的语法。

我过于冗长的解决方案:

<input name="foo" ng-model="bar" disabled ng-if="!myVar" />
<input name="foo" ng-model="bar" ng-if="myVar" />

2 个答案:

答案 0 :(得分:3)

您应该使用ng-disabled指令

<input name="foo" ng-model="bar" ng-disabled="myVar == null" />

来自docs

  

特殊指令是必要的,因为我们不能在disabled属性中使用插值。

答案 1 :(得分:1)

这是ng-disabled directive

的目的
<input name="foo" ng-model="bar" ng-disabled="!myVar" />