Javascript 使用函数-JS更新数组中的值
我对AngularJS比较陌生,我发现自己有点困惑 这是我的控制器:Javascript 使用函数-JS更新数组中的值,javascript,html,arrays,angularjs,Javascript,Html,Arrays,Angularjs,我对AngularJS比较陌生,我发现自己有点困惑 这是我的控制器: app.controller("calcController", function($scope) { $scope.interests=[{time:'month',amount:0}, {time:'quarter',amount:0}, {time:'year',amount:0}]; $scope.rates=[{rate:0.01,lower:
app.controller("calcController", function($scope) {
$scope.interests=[{time:'month',amount:0},
{time:'quarter',amount:0},
{time:'year',amount:0}];
$scope.rates=[{rate:0.01,lower:0,upper:1000,desc:'£0 - £1000'},
{rate:0.02,lower:1000,upper:5000,desc:'£1000 - £5000'},
{rate:0.03,lower:5000,upper:'none',desc:'£5000+'},];
$scope.balance=0;
$scope.updatedIntAmount=function(balance){
if(balance<0){
return 0;
}
else if(balance>=rates[1].lower && balance<rates[1].upper){
return balance*rates[1].rate;
}
else if(balance>=rates[2].lower && balance<rates[2].upper){
return balance*rates[2].rate;
}
else {
return balance*rates[3].rate;
}
}
});
因此,我拥有的是利息。金额取决于CalculateIntaunt
,而这反过来又取决于利率。利率和余额。我如何获得这些利息。每当更新余额时,要更改的金额
值
谢谢尝试将ng change
添加到您的输入字段中,就像这样
。这将允许您在更改输入字段时调用函数,从而在控制器中的函数中执行任何您想要的操作
您可以在官方上了解更多信息。您可以研究使用$scope.$watch
观察您的余额
变量的任何变化,然后相应地更新您的利息。金额
在控制器中,您将拥有:
$scope.$watch('balance', function(newBalance) {
$scope.interests.amount = $scope.updatedIntAmount(newBalance);
});
代码中存在很多错误
首先,这里没有类似于rates[1]的内容,您应该将其更改为$scope.rates[1]
第二:updateDataMount函数包含速率[3],这也是错误的,因为根据数组索引规则,速率[2]是最大限制
updateDataMount函数根据插入的余额返回单个值。在这种情况下,更正错误后,只需添加:
{{updatedIntAmount(balance)}}
在html代码中。平衡一旦改变,它就会改变
$scope.updatedIntAmount=function(balance){
if(balance<0){
return 0;
}
else if(balance>=$scope.rates[0].lower && balance<$scope.rates[0].upper){
return balance*$scope.rates[0].rate;
}
else if(balance>=$scope.rates[1].lower && balance<$scope.rates[1].upper){
return balance*$scope.rates[1].rate;
}
else {
return balance*$scope.rates[2].rate;
}
}
$scope.updatedIntAmount=函数(余额){
如果(余额=$scope.rates[0]。余额下限(&&balance=$scope.rates[1]。余额下限(&&balance)能否举例说明余额的变化会导致随后的利息.amount的变化?能否使利息.amount的值等于某些计算?
$scope.updatedIntAmount=function(balance){
if(balance<0){
return 0;
}
else if(balance>=$scope.rates[0].lower && balance<$scope.rates[0].upper){
return balance*$scope.rates[0].rate;
}
else if(balance>=$scope.rates[1].lower && balance<$scope.rates[1].upper){
return balance*$scope.rates[1].rate;
}
else {
return balance*$scope.rates[2].rate;
}
}