javascript - 更新 Angular js函数内的值

标签 javascript angularjs

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/

相关文章:

AngularJS ng-click 链接到模型

javascript - angularjs 导入使 html 页面不起作用

angularjs - 如何将选定的ID从kendo组合框传递到 Angular 函数

javascript - 想获取标记的 infobubble 的内容?

javascript - Google Maps V3 API --- 我想在动态创建标记时获取基于 lat/lng 的县

c# - 如何在输出到html之前停止asp.net编码字符?

Angularjs - 社交媒体按钮不显示在 Partials 中

javascript - 如何改变负值的间隔?使用 Highcharts

javascript - 如何获取 ExtJS 中按钮的 "pressed"属性的状态?

javascript - 如何访问在 Shiny 中渲染的 rhandsontable 的 JS 变量名称?