如何使用角度资源风帆?

时间:2015-06-17 05:59:58

标签: javascript jquery angularjs sails.js

我正在使用角度资源风帆。

var items = sailsResource('roles').query(); // GET /item
$scope.roles = items;
angular.forEach($scope.roles, function(value, key) {
    console.log(key + ': ' + value);
});

输出:未定义。

如何解析此查询?

2 个答案:

答案 0 :(得分:2)

检查文档的这一部分:https://github.com/angular-resource-sails/angular-resource-sails#success-and-error-callbacks

如果要访问所提取的数据,则可能必须为查询功能提供回调。所以你的代码将成为

sailsResource('roles').query(function(items) { // GET /item
    $scope.roles = items;
    angular.forEach($scope.roles, function(value, key) {
        console.log(key + ': ' + value);
    });
});

答案 1 :(得分:1)

query方法是异步的。 sailsResource创建$resource API兼容服务,因此您必须在回调函数中进行循环。

例如

$scope.roles = sailsResource('roles').query(function(roles) {
    angular.forEach(roles, function(value, key) {
        // and so on
    });
});

您还可以使用$promise属性来访问承诺,例如

$scope.roles = sailsResource('roles').query();

$scope.roles.$promise.then(function() {
    angular.forEach($scope.roles, function(value, key) {
        // etc
    });
});