0

鉴于:

<input ng-model="x.costA" value="100" step="any" type="number" />
<input ng-model="x.costB" value="100" step="any" type="number" />

我需要获取x.costAand x.costB(每当用户更新值时)并计算一系列结果,这些结果将输出到<div>页面上的其他位置:抽象地:

<div>
    Result 1: {{ result1 }}
    Result 2: {{ result2 }}
    Result 3: {{ result3 }}
</div>

这三个不同的结果是使用输入数据 costA 和 costB 计算的。

需要进行的计算非常复杂,因此我不想将算术放在{{...}}. 我宁愿将它放在 Angular 控制器/服务中(不确定是哪个??)。

实现这一目标的最佳方法是什么?

4

1 回答 1

1

您可以$watch打开,x.costA+x.costB这样当它们发生变化时,您的所有结果都会被计算出来。但是,由于您提到结果很复杂/昂贵,您可能希望添加一个按钮供用户单击以触发用户的计算。

<button ng-click="computeNow()">Go!</button>

在控制器中:

$scope.computeNow() = function() {
  $scope.result1 = $scope.x.costA + $scope.x.costB;
  // etc.
}
于 2013-06-14T21:19:19.413 回答