簡體   English   中英

更新Angular JS函數中的值

[英]Update value inside angular js function

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,而不是更新的總和。如何獲取vm.a的更新值?當我執行$ scope。$ apply時,出現錯誤“ $摘要已在進行中”。

您正在調用$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);
    }
}

您不能在更改功能完成之前調用$ log,否則它將僅返回0。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM