Javascript 超视距角环

Javascript 超视距角环,javascript,angularjs,loops,Javascript,Angularjs,Loops,我如何循环使用$scope.properties对象值,并将它们放入$scope.coords中的单独$scope.coords列表中 <script type="text/javascript"> var propertyModule = angular.module( 'propertyModule', ['ngResource', 'ngMap', 'ngRoute'] ); propertyModule.control

我如何循环使用
$scope.properties
对象值,并将它们放入
$scope.coords
中的单独
$scope.coords
列表中

<script type="text/javascript">
    var propertyModule = angular.module(
        'propertyModule', 
        ['ngResource', 'ngMap', 'ngRoute']
    );
    propertyModule.controller(
        'propertyController', 
        [
            '$scope', 
            'Property', 
            function ($scope, Property) {
                // Query returns an array of objects, MyModel.objects.all() by default
                $scope.properties = Property.query();
                // Getting a single object
                $scope.property = Property.get({pk: 1});
                $scope.coords = [];
            }
        ]
    );
</script>

我希望
$scope.coords
只包含坐标值。控制器中必须有
$scope.coords

您可以执行以下操作:

$scope.coords = [];
for(var i=0;i<$scope.properties.length;i++){
    $scope.coords.push($scope.properties[i].coordinates);
}
$scope.coords=[];
对于(var i=0;i


您好。谢谢,但不幸的是,我的模板显示了
[null,null]
,console.log()告诉我:
[undefined,undefined]
[undefined,undefined]
可能是因为我试图对查询进行迭代?。@Jack Allen:请不要到处将代码更改为您喜欢的代码样式。请看@地毯烟民您阅读了您发布的内容吗?幸运的是,我的更改遵循这些规则,谢谢。不幸的是,它给了我一个[]的空数组…可能是因为我试图迭代$scope.properties=Property.query()?它正在查询我的Django模型并在运行时返回一个JSON..发生这种情况是因为在获取数据之前您迭代了$scope.properties。请尝试此操作谢谢您的回答,但不幸的是,在获取数据之后,我迭代了$scope.properties。由于某些原因,代码仍然无法工作。我的模板中没有任何内容。请请看这里,让我知道您的控制台显示了什么控制台显示:
[Resource,Resource,Resource,Resource,$promise:Object,$resolved:true]
我想json东西没有被实例化,这就是我无法循环它的原因。它只是一个对象。不幸的是,它给了我一个[]的空数组…可能是因为我试图迭代$scope.properties=Property.query()?它正在查询我的Django模型,并在运行时返回JSON。如果是异步的,那么在您的工厂中,您需要实现承诺,并且无论何时获得数据,您都需要使用该承诺。抱歉,回复太晚。谢谢,我将尝试这样做。数据不是异步的,它只是通过查询我的Django模型来加载的当我将Json数据粘贴到$scope.properties中时,代码可以工作。但是当scope.properties=Property.query()时,我不能循环那个json。我可以显示它,但是循环不起作用。你可以创建一个服务,在其中你m=将注入$q服务,然后调用django数据库并获取数据。在收到的数据上,你将解析承诺。然后在你的控制器中使用。然后。为了等待你的数据库,请调用o complete您可以设置$interval来检查是否有数据。
$scope.coords = [];
for(var i=0;i<$scope.properties.length;i++){
    $scope.coords.push($scope.properties[i].coordinates);
}
 var app = angular.module('app', []);

    app.controller('firstCtrl', function($scope){

      $scope.properties  = [
        {
            "city":1,
            "name":"Pastatas A",
            "coordinates":[24.43359375,54.6611237221],"pk":1
        },{
            "city":1,
            "name":"hmgbjmnbm",
            "coordinates":[25.2905273438,54.6738309659],
            "pk":4
        },{
            "city":1,
            "name":"gfghfghfg",
            "coordinates":[25.3344726562,54.6102549816],
            "pk":3
        },{
            "city":1,
            "name":"sdfsdgsdgsdgasssss",
            "coordinates":[25.2685546875,54.6801830971],
            "pk":5
        },{
            "city":2,
            "name":"Test flat",
            "coordinates":[25.2960205078,54.6611237221],
            "pk":6
        }
    ];
      $scope.coords  = [];
      angular.forEach($scope.properties , function(value){

        $scope.coords.push(value.coordinates);

      });
    });