controller.js 文件给出为
function XYZController($rootScope,$scope){
var vm = this;
vm.a = 0;
var change = function(data){
data.forEach(function(e,i){
vm.a+=Number(e.value);
});
}
$log.log(vm.a);
}
调用了函数change,但$log.log(a)打印0,而不是更新后的总和。如何获取vm.a的更新值?当我执行$scope.$apply时,我得到一个错误“$digest 已在进行中”。
最佳答案
您在调用 change()
之前调用 $log.log(vm.a);
,因此它会记录您的 vm.a = 0;
,如果你将代码更改为这样,它应该可以工作。
function XYZController($rootScope,$scope){
var vm = this;
vm.a = 0;
var change = function(data){
data.forEach(function(e,i){
vm.a+=Number(e.value);
});
$log.log(vm.a);
}
}
关于javascript - 更新 Angular js函数内的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36277491/