Angularjs:否则$ routerProvider在Child模块中不起作用

时间:2016-03-08 10:46:03

标签: javascript angularjs redirect angular-ui-router angular-ui

我的角度应用程序有以下结构。

父模块 - >子模块

在父模块中,我定义了如下状态:

$urlRouterProvider
        .otherwise('/home');

        $stateProvider
          .state('home', {
                url: '/home',
                templateUrl: 'views/home.html'
            })
          .state('state1', {
                url: '/state1',
                templateUrl: 'views/state1.html'
            })
            .state('state2', {
             url: '/state2',
             templateUrl: 'views/state2.html'    
            })

在Child模块中,我将其定义如下:

$urlRouterProvider
        .otherwise('/child/childstate1');

        $stateProvider

          .state('child', {
                url: '/child',
                templateUrl: 'views/child.html',
                abstract: true
            })
            .state('child.childstate1', {
             url: '/childstate1',
             templateUrl: 'views/childstate1'
            })
             .state('child.childstate2', {
             url: '/childstate2',
             templateUrl: 'views/childstate2'
            })

所以我希望应用程序(默认情况下)在childmodule中重定向到 / child / childstate1 ,并在父模块以外的子模块中重定向到 / home 。 当我尝试访问 / child 时,我被重定向到 / home 。我通过使用:

克服了这个问题
.when('/child', '/child/childstate1')
.when('/child/', '/child/childstate1')

这是一个有效的黑客,但当我尝试访问 / child / random 时会出现问题它重定向到 / home 但它应该重定向到 /子/ childstate1

0 个答案:

没有答案