在输出中输入新值后,无法更改默认值

时间:2016-01-13 07:12:46

标签: angularjs

我是angularJS的新手

以下是我的控制器

var app = angular.module('ChildPlanning', ['rzModule', 'ui.bootstrap']);
app.controller('MainCtrl', function($scope, $rootScope, $timeout, $modal)

 $scope.ir ={
   value:8
 };
 $scope.result1 = pv*(Math.pow((1+(rateofreturn.value/100)), tenure.value));
 $scope.result2 = ((((annuityrate.value/100)/ 12 )*(Math.pow((1+((annuityrate.value/100)/ 12 )), lifeexpectancy.value*12)));

 $scope.annuity_future = $scope.ir.value * $scope.result1  * $scope.result2;
}

我的HTML

输入HTML 1

<input name="inflation" type="text" id="ir" ng-model="ir.value" >

输出html

 <span>{{ annuity_future }}</span>

当我通过输入输入字段手动更改输入“ir.value”的默认值时,输出中的值不会相应更改

  

想要这样做,这是因为我必须做很多变量的长时间的数学运算,并且我在那里使用的变量很大我面临同样的问题

提前致谢

2 个答案:

答案 0 :(得分:2)

将此添加到您的代码中:

$scope.change = function(){
  $scope.annuity_future = $scope.ir.value * $scope.result1  * $scope.result2;
};

并用以下内容替换输入标记:

<input name="inflation" type="text" id="ir" ng-model="ir.value" ng-change="change()">

注意:确保您的计算有效,因为我收到一条错误,错过了一个)

答案 1 :(得分:0)

您可以在ngChange上对$scope.annuity_future进行计算,也可以将计算直接放在html中。

输出HTML

<span>{{ ir.value * result1  * result2}}</span>