有没有办法从角度中的foreach函数内部访问范围?
$scope.getPlowHistory = function() {
$scope.plowId = $stateParams.plowId;
SnowPlowService.getPlowHistory($scope.plowId).then(function(response) {
$scope.plow = response;
angular.forEach($scope.plow,function(value,index){
$scope.Lat = value.Latitude;
$scope.Lng = value.Longitude;
});
});
};
我需要$ scope.Lat和$ scope.Long才能在$ scope.getPlowHistory()中使用,而不只是在foreach循环中。
谢谢!
答案 0 :(得分:1)
我并不是百分之百了解你要做的事情,但看起来不对。
angular.forEach($scope.plow,function(value,index){
$scope.Lat = value.Latitude;
$scope.Lng = value.Longitude;
});
您的代码实际上是使用响应的最后一个元素的值更新$ scope.Lat和$ scope.Lng。
我认为你要做的是这样的事情:
angular.forEach($scope.plow,function(value,index){
$scope.Lat[index] = value.Latitude;
$scope.Lng[index] = value.Longitude;
});
因此,如果您的结果包含三个元素,$ scope.Lat和$ scope.Lng将包含三个元素。
我希望这就是您所寻找的,如果不是评论,我将很乐意详细说明。