我有以下代码:
<div data-ng-controller="MainController">
<input class="amount" type="text" name="" value="" />
<input class="result" type="text" name="" value=""/>
</div>
我想从$ scope获取一个数值,并将其添加到用户在输入中使用“amount”类输入的数字,并在输入中使用“result”类显示结果。因此,基本上,变量在 MainController 函数中定义如下:
$scope.cost = 100;
我有点困惑的是,最好的方法是做什么,我看到有 ng-value 和 ng-model 指令,但我可以使用我很难理解哪个是适合这个应用程序的(以及如何正确使用它们)。
答案 0 :(得分:3)
似乎你的应用程序要求输入,他们将提交值或将其存储在DB中的某个位置。所以ng-model
(双向绑定)将适合您的应用程序,这将更新model
&amp;的值。 view
两者。
<强>标记强>
<div data-ng-controller="MainController">
<input class="amount" type="text" ng-model="cost"/>
</div>
上面的字段会预先填充为100
,当您更新时,它也会更改$scope.cost
值及其在任何地方显示的值。
不要考虑ng-value
这只是一种绑定方式。您可以使用仅ng-value="cost"
更新input
的值属性的cost
来分配值,但是当您从html更新输入时,您将永远不会将ng-value
范围变量中反映的更改作为{ {1}}用于单向绑定。您认为只有在想要显示值时才应使用ng-value
。
答案 1 :(得分:1)
你应该使用ng-model