Echo系列计算值

时间:2013-06-14 19:06:48

标签: angularjs

假设:

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

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

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

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

需要进行的计算非常复杂,因此我不想将算法放在{{...}}内。我宁愿在Angular Controller / Service中使用它(不确定哪个 ??)。

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

1 个答案:

答案 0 :(得分:1)

您可以在$watch上加x.costA+x.costB,以便在更改时计算所有结果。但是,由于您提到结果复杂/昂贵,您可能需要添加一个按钮供用户单击以触发用户的计算。

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

在控制器中:

$scope.computeNow() = function() {
  $scope.result1 = $scope.x.costA + $scope.x.costB;
  // etc.
}