我有一个像这样的控制器:
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的值相同。
我的代码有什么问题?