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
传递给该函数,这样每次调用该函数时,您的函数都会影响正确的选择。请不要发布丑陋的代码