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);
}
调用函数更改,但是$ log.log(a)打印0,而不是更新的sum。如何获取vm.a的更新值?当我执行$ scope。$ apply时,我得到一个错误" $ digest已在进行中"。
答案 0 :(得分:2)
您在致电$log.log(vm.a);
之前正在致电change()
,因此会记录您的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);
}
}
答案 1 :(得分:0)
你无法在完成更改功能之前调用$ log,否则它将仅返回0。