使用 AngularJS、ui-router 和 uiBreadcrumbs 实现缩小安全解析函数



我正在开发一个AngularJS应用程序。我已经完成了很多工作,但尝试使用 ui-router 和 uiBreadcrumbs 实现解决方案时遇到了困难。所以问题来了,我如何实现一个可以很好地与放大配合的分辨率,就像实现控制器一样?为了简洁起见,我在下面包含了 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);
                }
            }
        });

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

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

最新更新