1

我有以下代码:

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

4

2 回答 2

3

似乎您的应用程序正在要求输入,他们将在那里提交值或将其存储在数据库中的某个位置。因此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"它只会更新的 value 属性,input但是当您从 html 更新输入时,您将永远不会在cost范围变量中反映这些更改,因为ng-value这意味着单向绑定。ng-value认为只有在要显示值时才应该使用 use 。

于 2015-06-24T21:29:01.553 回答
1

你应该使用ng-model

  • ng-value:它是一个用于评估表达式的指令,并且该值绑定到用于评估表达式的 $scope
  • ng-model:有助于双向数据绑定,视图->控制器,反之亦然,而且它的指令绑定 HTML 控件的值
于 2015-06-24T21:33:17.573 回答