2016-02-04 60 views
0

我是Angular和MEAN.js的新手,我试图弄清楚如何处理从我的控制器(客户端)返回的数据,在数据进入视图之前。我有一个控制器中的功能,使查询到数据库。如何从Angular控制器修改数据库查询的结果

$scope.getDataPoints = function() { 
     $scope.datapoints = Datapoints.query(); 
     console.log($scope.datapoints.length); 
     console.log($scope.datapoints); 

     for (var i = 0; i < $scope.datapoints.length; i++) { 
      console.log($scope.datapoints[i].thevalue + ","); 
      console.log($scope.datapoints[i].variant + ","); 
     } 

    }; 

正如预期的查询返回一个承诺,所以循环不执行。如何捕获,操作(使用lodash),然后将数据提供给视图?

回答

0

如果它返回一个承诺

$scope.getDataPoints = function() { 
    Datapoints.query() 
    .then(function(response) { 
     // Don't know what this resolves with, assuming response.data is what you would want 
     $scope.datapoints = response.data; 

     console.log($scope.datapoints.length); 
     console.log($scope.datapoints); 

     for (var i = 0; i < $scope.datapoints.length; i++) { 
     console.log($scope.datapoints[i].thevalue + ","); 
     console.log($scope.datapoints[i].variant + ","); 
     } 
    }); 
} 
+0

它抱怨说,Datapoints.query(...),然后是不是一个函数 – user379468

+0

如果这是AngularJS和.query()返回的$ HTTP或$ Q承诺,那么应该在场。确认你的函数实际返回一个承诺 –

相关问题