angularJs循环在控制器中不起作用

时间:2016-01-03 12:43:09

标签: angularjs controller factory

我无法在控制器上使用循环而且没有错误 这是我的代码

'use strict';

var chartApp = angular.module('chartsApp');

chartApp.controller('chartController', ['$scope', 'ChartingService', function($scope, ChartingService){

var charts = ChartingService.query();
console.log(charts);

for (var i = 0; i < charts.length; i++) {
    console.log(charts[i]);
};


console.log('after');

}]);

这是从api

获取数据的cose
var app = angular.module('chartsApp');

app.factory('ChartingService', function($resource) {
return $resource('/api/sales', {
    id: '@id'
}, {
    add: {method: 'POST'}

});
});

我没有得到任何错误,但循环工作 当我控制台记录var图表时,它在控制台窗口上打印所有数据

这就是我在控制台中得到的东西

http://prntscr.com/9lkb5y

任何帮助?

1 个答案:

答案 0 :(得分:3)

documentation of $resource说:

  

重要的是要意识到调用$ resource对象方法会立即返回引用(对象或数组,具体取决于isArray)。从服务器返回数据后,将使用实际数据填充现有引用。

(强调我的)

接下来是一个使用回调函数的示例,以便获取query()返回的数组的第一个元素,一旦可用