Angular ui-router无法解析$ resource结果

Ton*_*yGW 3 javascript resolve angularjs angular-ui-router

在我的一个UI路由器状态中,我有以下链接'/users',指向显示用户列表的页面.下面是我编写的用于通过使用$ resource调用来解析用户列表的代码,但是,在加载页面时,数据似乎无法解析:

.state('users', {
                    url: '/users',
                    templateUrl: '/assets/angularApp/partials/users.html',
                    controller: 'UserListCtrl as vm',
                    resolve: {

                        users: function ($resource) {

                            return $resource('http://localhost:8080/api/users').query().$promise.then(function(data) {
                                return data;
                            });
                        }
                    }


                })
Run Code Online (Sandbox Code Playgroud)

UserListCtrl中,我有以下内容将已解析的用户分配给vm.users,以便用户可以显示在部分页面上:

function UserListCtrl($log, users) {
        var vm = this;
        vm.users = users;
}
Run Code Online (Sandbox Code Playgroud)

但是,该页面只显示一些没有填充任何数据的空行.所以我认为resolve我的网址上的工作不正常/users,是否有人可以找出可能存在问题的地方?谢谢

Arb*_*ani 5

将其更改为:

users: function ($resource) {
    return $resource('http://localhost:8080/api/users').query().$promise;
}
Run Code Online (Sandbox Code Playgroud)

因为这样你就会返回承诺,并且通过使用then(...),你正在解析内部的承诺并且只返回数据因此它不会将它传递给控制器​​,因为它在控制器加载后返回它们.