foreach内部的变量在范围和服务中无法访问

时间:2015-04-11 07:38:13

标签: angularjs

我有一个像这样的控制器:

qApiService.getField()
.then(function(data) {
    $scope.data.current = data;
    //...
    //...
    $scope.arrayFieldsDisplay.forEach(function(entry) {
        var val = $metaData.arrayCollectionFieldsDisplay[entry];

        var jsonSend = {
            "atQ":$scope.data.current.atQ,
            "anQ":$scope.data.current.anQ,
            "cxSe":$scope.data.current.cxSe,
            "qN":entry,
            "qA":val,
        };

        if (val !== null && val !== 'null' && typeof val !== 'undefined') {
            qApiService.colField(jsonSend)
            .then(function(data) {
                $scope.data.current = data;
            });
        }
    });

如果你检查代码,你可以看到" $ scope.data.current"变量在顶部代码中设置以进行初始化,并设置相同的" $ scope.data.current"在" qApiService.colField"。

我正在尝试使用该变量,因为我正在迭代" $ scope.arrayFieldsDisplay"阵列。

我的问题:为什么当我在foreach中设置scope.data.current时,在下一个循环或范围父级中无法访问?始终与scope.data.current的值相同。

我的代码有什么问题?

0 个答案:

没有答案