使用AngularJS,ui-router和uiBreadcrumbs实现缩小安全解析功能

时间:2016-01-18 19:04:55

标签: angularjs angular-ui-router

我正在开发一个AngularJS应用程序。我已经完成了很多工作,但我仍然试图使用ui-routeruiBreadcrumbs来解决问题。所以这就是问题,我如何实现一个可以很好地放大的解决方案,与控制器的实现方式相同?为简洁起见,我在下面列出了示例代码uiBreadcrumbs。查看最后一个状态home.userList.detail。

angular.module('yourModule').config(function($stateProvider) {
    $stateProvider
        .state('home', {
            url: '/',
            views: {
                'content@': {
                    templateUrl: ...
                }
            },
            data: {
                displayName: 'Home'
            }
        })
        .state('home.usersList', {
            url: 'users/',
            views: {
                'content@': {
                    templateUrl: ...
                }
            },
            data: {
                displayName: 'Users'
            }
        })
        .state('home.userList.detail', {
            url: ':id',
            views: {
                'content@': {
                    templateUrl: ...
                }
            },
            data: {
                displayName: '{{ user.firstName }} {{ user.lastName | uppercase }}'
            }
            resolve: {
                user : function($stateParams, userService) {
                    return userService.getUser($stateParams.id);
                }
            }
        });

1 个答案:

答案 0 :(得分:4)

将函数包装在数组对象中,就像控制器一样:

resolve: {
    user : [
                '$stateParams', 'userService',
        function($stateParams,   userService) {
            return userService.getUser($stateParams.id);
        }
    ]
}