Angularjs 添加按钮后,区域未重置,显示以前的区域

Angularjs 添加按钮后,区域未重置,显示以前的区域,angularjs,Angularjs,大宗报价 添加(+)字段后,该区域不会重置其仅显示上一个区域。 大宗报价 var-app=angular.module('Calc',[]); 应用控制器('Calc_Ctrl',函数($scope){ $scope.choices=[{id:'choice1',l2:0,b2:0}]; $scope.addNewChoice=function(){var newItemNo=$scope.choices.length+1; $scope.choices.push({'id':'choices

大宗报价 添加(+)字段后,该区域不会重置其仅显示上一个区域。 大宗报价

var-app=angular.module('Calc',[]);
应用控制器('Calc_Ctrl',函数($scope){
$scope.choices=[{id:'choice1',l2:0,b2:0}];
$scope.addNewChoice=function(){var newItemNo=$scope.choices.length+1;
$scope.choices.push({'id':'choices'+newItemNo,l2:0,b2:0});};
$scope.removeChoice=function(){var lastItem=$scope.choices.length-1;
if(lastItem!==0){$scope.choices.splice(lastItem);};
$scope.sum=function(){var sum=0;
angular.forEach($scope.choices,function(choice){
sum+=choice.l2*choice.b2;
});返回和;}
$scope.Getarea=函数(){
$scope.total=+document.getElementById(“total”).value;};
$scope.$watch($scope.sum,函数(值){
$scope.total=value;});})


{{$index+1}:长:英尺宽:英尺 面积:平方英尺+-
待处理区域:

{{(+total+(+total*0.05))|数量:2}
您需要在
addNewChoice
函数的末尾调用
$scope.$apply()


但是,再看看您的代码,问题是您在输入中使用了
ng model=“total”
。为了使其工作,您需要将其更改为类似于
ng model=“choice.total”
的值,并更新该值
Getarea()
方法。另外,我会将
choice
传递给该函数,这样每次调用该函数时,您的函数都会影响正确的选择。

请不要发布丑陋的代码