gpt4 book ai didi

AngularJS forEach .push undefined

转载 作者:行者123 更新时间:2023-12-02 04:34:14 25 4
gpt4 key购买 nike

我是 AngularJS 的新手(本周开始),我想从 $http.post 返回的数据中提取几个项目,并创建一个包含数据子集的新对象 $scope.tests.latLngAll。

如果我在 forEach 中使用 .push 执行以下操作,我会收到一个错误消息 $scope.tests.latLngAll 未定义,即使我试图在第 4 行中定义它也是如此。

$scope.tester = function( ){    

$scope.tests = {};
$scope.tests.latLngAll = {};

$http.post( '/src/shops.php' , $scope.postdata )
.success( function(data) {

$scope.tests = data;

angular.forEach( $scope.tests, function( value, key ){
$scope.tests.latLngAll.push( { key : value } );
});
})
}

如果我将 .push 替换为“=”,则数组中的最后一项是分配给 $scope.tests.latLngAll 的唯一值,这是有意义的。

$scope.tests.latLngAll = ( { key : value } );

我认为这意味着数据在那里并且可以通过 forEach“值”访问,但我没有正确地进行推送。

感谢您的帮助。

最佳答案

未定义的'latLngAll'问题是由数据引起的。您必须确保数据必须包含一个名为“latLngAll”的数组对象。如果你想动态添加 latLngAll,你可以试试这个:

$scope.tester = function( ){    

$scope.tests = {};
//$scope.tests.latLngAll = {};

$http.post( '/src/shops.php' , $scope.postdata )
.success( function(data) {

$scope.tests = data;

var tempArr = [];
angular.forEach($scope.tests, function(value,key){
tempArr.push( { key : value } );
});
$scope.tests.latlngAll=tempArr;
console.log($scope.tests.latlngAll);
});
}

这是一个jsfiddle demo .

关于AngularJS forEach .push undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22317226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com