Ionic1增值税计算

时间:2017-07-22 12:40:02

标签: angularjs ionic-framework

我有一个ionic1应用程序和三个输入。

<label class="item item-input item-stacked-label">
        <div class="input-label">
          Total (Inc VAT) £
        </div>
        <input type="number" ng-model="form.gross" placeholder="Total Including VAT">
      </label> 
      <label class="item item-input item-select">
        <div class="input-label">
          VAT Value
        </div>
        <select ng-model="form.vat">
          <option value="20" selected="">20%</option>
          <option value="0">0%</option>
          <option value="5">5%</option>
        </select>
      </label> 
      <label class="item item-input item-stacked-label">
        <div class="input-label">
          Amount (Ex VAT) £
        </div>
        <input type="number" ng-model="form.net" placeholder="Total Including VAT">
      </label>
  • form.gross
  • form.net
  • form.vat

我正在尝试根据总投入进行计算,根据增值税%计算出净值。

第一个问题 - 我永远无法选择被选中的选项。 第二个问题 - 在我的控制器中,净值的计算没有更新

控制器

$scope.form.gross = 0;
$scope.form.vat = 20;
$scope.form.vatValue = $scope.form.gross / 100 * $scope.form.vat;
$scope.form.net = $scope.form.gross - $scope.form.vatValue;

我认为由于双向绑定,应用程序会根据dom中更新的值进行更改?

1 个答案:

答案 0 :(得分:1)

第一个问题:只需使用ng-option&amp;有一个包含值的对象数组&amp;选择标签。如果你不想使用那个&amp;想要使用传统的select而不是在选项上使用selected=''属性,只需在控制器内初始化该字段的值,如

$scope.form.vat= 20;

(使用数字作为值,无论如何你正在对它们进行算术运算)

对于你的第二个问题,只需要对总和&amp;增值字段并调用其中的函数来执行查找vatvalue&amp;的操作。净。因此,每当您对输入进行更改时,都会计算它,因为它目前只在初始条件下发生一次。所以你的功能应该是:

$scope.changed = function(){
    $scope.form.vatValue = $scope.form.gross / 100 * $scope.form.vat;
    $scope.form.net = $scope.form.gross - $scope.form.vatValue;
}

ng-change="changed()"在两个输入字段(毛重,增值税)上都有此功能。

这里有正在使用的代码集示例:https://codepen.io/anon/pen/LjPmmx?editors=1010。 现在,您正在为“网络”输入字段。所以你可能想要操纵它,因为你也可以编写另一个函数来计算基于恒定增值值的总和。改变净值并将其称为净场变化。