AngularJS ui-路由器无法解析服务调用

AngularJS ui-router not resolve service call

我正尝试在我的 ui-路由器状态提供程序中使用解析功能。 我配置如下:

app.config(['$stateProvider', '$urlRouterProvider', '$locationProvider', function ($stateProvider, $urlRouterProvider, $locationProvider) {
...
$stateProvider.state('expositions', {
        url: '/Expositions',
        views: {
            "container": {
                templateUrl: '/views/expositions.html', 
                resolve: {
                    expositions: function ($http) {
                        return $http.get('/api/site/expositions').then(
                            function (response) {
                                console.log("DATA", response.data);
                                return response.data;
                            },
                            function (error) {
                                console.log("ERROR", error);
                            })
                    }
                }
            }
        }
    })
...
}

在这种情况下,当我点击说明时 link 没有调用解析并且没有执行导航:没有任何反应。

我还尝试使用工厂(资源服务)对其进行配置,如下所示:

app.config(['$stateProvider', '$urlRouterProvider', '$locationProvider', function ($stateProvider, $urlRouterProvider, $locationProvider) {
...
$stateProvider.state('expositions', {
        url: '/Expositions',
        views: {
            "container": {
                templateUrl: '/views/expositions.html', 
                resolve: {
                    expositions: function (Resources) {
                        console.log("DATA", Resources);
                        return Resources.expositions();
                    }
                }
            }
        }
    })
...
}

资源服务在单独的文件中定义如下:

resourcesService.js

(function () {
    'use strict';

    angular
        .module('site')
        .factory('Resources', ['$resource',
            function ($resource) {
                return $resource('/api/site/:action/:id', {}, {

                    ...

                    expositions: {
                        method: 'GET',
                        params: { action: "expositions" },
                        isArray: true
                        //transformResponse: function (data) {
                        //    return angular.fromJson(data).list
                        //}
                    },

                    ...
                });
            }
        ]);
})();

同样在这种情况下,什么也没有发生,也没有调用 resolve 函数。

我错过了什么?

提前致谢!

试试这个

expositions: ['$http',function ($http) {

像这样

resolve: {
                expositions: ['$http',function ($http) {
                    return $http.get('/api/site/expositions').then(
                        function (response) {
                            console.log("DATA", response.data);
                            return response.data;
                        }],
                        function (error) {
                            console.log("ERROR", error);
                        })
                }

让我知道这是否有效