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);
});
});