0

さまざまなオプションと、フォームのさまざまな部分に表示される現在の推定合計を含む単一ページの Angular 購入フォームがあります。推定合計インラインの計算はかなり複雑で、テストが困難です。

<span ng-bind="purchase.itemTotal + selectedInsurance() + selectedShipping()">?</span>

ng-bindスコープの関数にリファクタリングし、この関数として次のように指定して、ビューを DRY しようとしました。

$scope.estimatedTotal = function() {
  if ($scope.purchase)
    return $scope.purchase.itemTotal + $scope.selectedInsurance() + $scope.selectedShipping();
}

このステートメントは、モデルが Ajax を介して取り込まifれる前に評価される場合があるため、必要です。$scope.purchase問題は、Ajax GET が完了する前に関数が最初に undefined を返し、その後ngBind再評価しないことです。

ngBind追加のモデル値を監視するように指示できますか? ngBindダーティチェックでうまく機能する複雑な式をリファクタリングするための別の推奨される方法はありますか?

4

1 に答える 1