Angular - 将输入值与 $scope 中的数字相加
Angular - Adding an input's value with a number from $scope
我有以下代码:
<div data-ng-controller="MainController">
<input class="amount" type="text" name="" value="" />
<input class="result" type="text" name="" value=""/>
</div>
我想从 $scope 中获取一个数值并将其添加到用户在 class "amount" 输入中输入的数字,并在 [=27 输入中显示结果=] "result"。所以,基本上,变量在 MainController 函数中定义如下:
$scope.cost = 100;
我对执行此操作的最佳方法有点困惑,我看到有 ng-value 和 ng-model 指令可供我使用,但我很难理解哪个指令适合此应用程序(以及如何正确使用它们)。
似乎您的应用程序正在请求输入,并且他们将在那里提交值或将其存储在数据库中的某个位置。所以 ng-model
(双向绑定)将适合您的应用程序,它将更新 model
和 view
上的值。
标记
<div data-ng-controller="MainController">
<input class="amount" type="text" ng-model="cost"/>
</div>
以上字段将预填充为 100
,并且随着您的更新,它也会更改 $scope.cost
值以及显示在任何地方的视图中的值。
不要考虑 ng-value
这只是一种绑定方式。您可以使用 ng-value="cost"
将值分配给输入,这只会更新 input
的值属性,但是当您从 html 更新输入时,您将永远不会在 cost
中反映这些更改作为 ng-value
的范围变量用于单向绑定。认为您应该仅在要显示值时使用 ng-value
。
你应该使用 ng-model
- ng-value :它是一个用于评估表达式的指令,该值绑定到用于评估表达式的 $scope
- ng-model :有助于双向数据绑定,view-->controller 反之亦然,而且它的指令绑定 HTML 控件的值
我有以下代码:
<div data-ng-controller="MainController">
<input class="amount" type="text" name="" value="" />
<input class="result" type="text" name="" value=""/>
</div>
我想从 $scope 中获取一个数值并将其添加到用户在 class "amount" 输入中输入的数字,并在 [=27 输入中显示结果=] "result"。所以,基本上,变量在 MainController 函数中定义如下:
$scope.cost = 100;
我对执行此操作的最佳方法有点困惑,我看到有 ng-value 和 ng-model 指令可供我使用,但我很难理解哪个指令适合此应用程序(以及如何正确使用它们)。
似乎您的应用程序正在请求输入,并且他们将在那里提交值或将其存储在数据库中的某个位置。所以 ng-model
(双向绑定)将适合您的应用程序,它将更新 model
和 view
上的值。
标记
<div data-ng-controller="MainController">
<input class="amount" type="text" ng-model="cost"/>
</div>
以上字段将预填充为 100
,并且随着您的更新,它也会更改 $scope.cost
值以及显示在任何地方的视图中的值。
不要考虑 ng-value
这只是一种绑定方式。您可以使用 ng-value="cost"
将值分配给输入,这只会更新 input
的值属性,但是当您从 html 更新输入时,您将永远不会在 cost
中反映这些更改作为 ng-value
的范围变量用于单向绑定。认为您应该仅在要显示值时使用 ng-value
。
你应该使用 ng-model
- ng-value :它是一个用于评估表达式的指令,该值绑定到用于评估表达式的 $scope
- ng-model :有助于双向数据绑定,view-->controller 反之亦然,而且它的指令绑定 HTML 控件的值