嵌套状态问题

时间:2015-11-04 17:43:42

标签: angular-ui-router jhipster

我试图在" home"下插入一个嵌套状态。 (主目录)没有成功。我已经阅读了关于agularjs的Nested States文档。

这是我的main.html:

<div id="wrapper">
    <div ng-include="'scripts/app/main/leftmenu.html'"></div>
    <div id="page-wrapper" class="gray-bg">
        <!-- Page wrapper -->
        <div ng-include="'scripts/app/main/topnav.html'"></div>
        <!-- Main view  -->
        <div ui-view="mainview"></div>
        <!-- Footer -->
        <div ng-include="'scripts/app/main/footer.html'"></div>
    </div>
    <!-- Right Sidebar -->
    <div ng-include="'scripts/app/main/rightsidebar.html'"></div>
</div>

我的main.js:

'use strict';

angular.module('foremnetApp')
    .config(function ($stateProvider) {
        $stateProvider
            .state('home', {
                parent: 'site',
                url: '/',
                data: {
                    authorities: ['ROLE_USER']
                },
                views: {
                    'content@': {
                        templateUrl: 'scripts/app/main/main.html',
                        controller: 'MainController'
                    }
                },
                resolve: {
                    mainTranslatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) {
                        $translatePartialLoader.addPart('main');
                        return $translate.refresh();
                    }]
                }
            })
    });

我的dashboard1.js

angular.module('foremnetApp')
    .config(function ($stateProvider) {
        $stateProvider
            .state('dashboard1', {
                parent: 'home',
                url: '/dashboard1',
                data: {
                },
                views: {
                    'mainview': {
                        templateUrl: 'scripts/app/main/dashboard1/dashboard1.html',
                        controller: 'Dashboard1Controller'
                    }
                },
                resolve: {
                    mainTranslatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) {
                        $translatePartialLoader.addPart('main');
                        return $translate.refresh();
                    }]
                }
            })
    });

当我尝试去&#34; http://localhost:3000/#/dashboard1&#34;时,我会回到我的默认路线...此外,我想制作&#34; home&#34 ;陈述一个抽象的(如&#34;帐户&#34;)。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

奇怪的是,我已经将“家庭”状态(主要)抽象化,并且嵌套状态起作用。它是JHipster或angular-ui-router的约束吗?无论如何,我不需要更多。

'use strict';

angular.module('foremnetApp')
    .config(function ($stateProvider) {
        $stateProvider
            .state('home', {
                abstract: true,
                parent: 'site',
                data: {
                    authorities: ['ROLE_USER']
                },
                views: {
                    'content@': {
                        templateUrl: 'scripts/app/main/main.html',
                        controller: 'MainController'
                    }
                },
                resolve: {
                    mainTranslatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) {
                        $translatePartialLoader.addPart('main');
                        return $translate.refresh();
                    }]
                }
            })
    });