AngularJS - $ routeProvider的resolve属性导致相应控制器

时间:2016-12-17 14:21:33

标签: angularjs spring-hateoas

我将以下显示的解析属性分配给" / users"路线。 $ rootScope.resource中有几个HATEOAS样式的链接; "用户"作为其中一个人...最终,我试图关注($ get)"用户" linkrel并将输出(另一级HATEOAS rels)分配给" usersResource"属性,然后我将通过我的控制器访问:

.when("/users", {
            templateUrl: "/static/views/users.html",
            controller: "usersController",
            controllerAs: "usersController",
            resolve: {

                usersResource: function ($rootScope) {

                        if ($rootScope.resource) {

                        $rootScope.resource.$request().$get("users",{
                                linksAttribute: "_links",
                                embeddedAttribute: "_embedded"
                            })
                            .then(function successCallback(data) {
                                return data;

                            }, function errorCallback(data) {
                                return {}

                            })

                    }
                    else
                        return {};
                }

            }

        })

现在,当我试图访问" usersResource"从我的控制器我得到未定义。控制器目前没有逻辑。我暂时只是尝试将usersResource内容输出到控制台......

(function () {

angular
    .module("HateoasApp")
    .controller("usersController", usersController);

usersController.$inject = ["usersResource"];

function usersController(usersResource) {
    var vm = this;

    // properties
    vm.usersResource = usersResource;

    // objects

    // functions
    console.log(usersResource);
}

})();

任何意见/建议将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

你没有从你的解析功能中返回任何东西:

Encoding.PKCS1