假设:
<input ng-model="x.costA" value="100" step="any" type="number" />
<input ng-model="x.costB" value="100" step="any" type="number" />
我需要x.costA
和x.costB
(每当用户更新值时)并计算一系列结果,这些结果将输出到页面上其他位置的<div>
:抽象地:
<div>
Result 1: {{ result1 }}
Result 2: {{ result2 }}
Result 3: {{ result3 }}
</div>
使用输入数据costA和costB计算这三个不同的结果。
需要进行的计算非常复杂,因此我不想将算法放在{{...}}
内。我宁愿在Angular Controller / Service中使用它(不确定哪个 ??)。
实现这一目标的最佳方式是什么?
答案 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.
}