gpt4 book ai didi

javascript - angularjs中的 `value`属性和 `ng-value`属性有什么区别

转载 作者:可可西里 更新时间:2023-11-01 01:17:09 24 4
gpt4 key购买 nike

angularjs 模板中的 valueng-value 属性有什么区别?如果我在使用 value 属性的字段上使用 ng-if 它可以正常工作,但是如果我将属性 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>

最佳答案

根据 the docs ngValue 采用“Angular 表达式,其值将绑定(bind)到 input 元素的 value 属性” .

因此,当您使用 ng-value="hard" 时,它被解释为一个表达式并且 value 绑定(bind)到 $scope.hard(可能是 undefined)。
ngValue 对于计算表达式很有用——它在设置硬编码值方面没有优于 value 的优势。但是,如果您想使用 ngValue 对值进行硬编码,则必须将其包含在 '' 中:

ng-value="'hard'"

更新:
从 v1.6 开始,ngValue 还会设置元素的 value property(除了 value属性)。它可能不会影响您的用例,但这是另一个值得牢记的区别。

关于javascript - angularjs中的 `value`属性和 `ng-value`属性有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23865608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com