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-valueng-model 指令可供我使用,但我很难理解哪个指令适合此应用程序(以及如何正确使用它们)。

似乎您的应用程序正在请求输入,并且他们将在那里提交值或将其存储在数据库中的某个位置。所以 ng-model(双向绑定)将适合您的应用程序,它将更新 modelview 上的值。

标记

<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 控件的值