Sar*_*mad 17 javascript angularjs angularjs-service angularjs-scope angularjs-ng-repeat
angularjs模板value和ng-value属性之间有什么区别?如果我ng-if在使用value属性的字段上使用它可以正常工作但如果我将属性更改value为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>
Run Code Online (Sandbox Code Playgroud)
gka*_*pak 26
根据文档,ngValue采用"角度表达式,其值将value与input元素的属性绑定".
因此,当您使用时ng-value="hard",它被解释为一个表达式并且value被绑定$scope.hard(可能undefined).
ngValue对于计算表达式很有用 - 它value对于设置硬编码值没有任何优势.但是,如果要对值进行硬编码ngValue,则必须将其括在'':
ng-value="'hard'"
Run Code Online (Sandbox Code Playgroud)
更新:
与V1.6开始,ngValue也将设置value 属性的元素(除了value属性).它可能不会影响您的用例,但这是值得记住的另一个区别.
| 归档时间: |
|
| 查看次数: |
24094 次 |
| 最近记录: |