javascript – angularjs中`value`属性和`ng-value`属性之间的区别是什么
作者:互联网
angularjs模板中值和ng值属性之间有什么区别?如果我在使用value属性的字段上使用ng-if,它可以正常工作,但如果我将属性值更改为ng-value,它将停止工作.
example 1 // it works
<input type='radio' ng-model='difficulty' value='hard'/>
<div ng-if="difficulty == 'hard'">
<p>difficulty is hard</p>
</div>
Example 2 // it doesn't work
<input type='radio' ng-model='level' ng-value='hard'/>
<div ng-if= "level == 'hard'" >
<p>level is hard</p>
</div>
解决方法:
根据the docs,ngValue采用“角度表达式,其值将绑定到输入元素的value属性”.
因此,当您使用ng-value =“hard”时,它被解释为表达式,并且该值绑定到$scope.hard(可能未定义).
ngValue对于计算表达式很有用 – 它对于设置硬编码值没有优势.但是,如果要使用ngValue对值进行硬编码,则必须将其括在”中:
ng-value="'hard'"
更新:
从v1.6开始,ngValue还将设置元素的value属性(除了value属性).它可能不会影响您的用例,但这是值得记住的另一个区别.
标签:javascript,angularjs,angularjs-scope,angularjs-ng-repeat,angularjs-service 来源: https://codeday.me/bug/20190928/1827957.html