当URL为“home /”而不是“home”时,无法在Angular ui.router中解析状态

时间:2016-09-06 07:43:03

标签: angularjs angular-ui-router

以下是我的ui.router状态代码:

$urlRouterProvider.otherwise("/");

$stateProvider.state('account', {
      templateUrl: "/assets/views/app.html",
      abstract: true
      })
.state('account.home', {
    templateUrl: "/assets/views/index.html",
    url: '/home'
      })

当用户尝试转到mydomain.com/时,州会解析为帐户。 但是当用户尝试转到mydomain.com/home/时,状态会解析为无效状态,因此用户将被重定向到mydomain.com/而不是account.home状态。

预期结果:

网址:mydomain.com解析为帐户状态

网址:mydomain.com/解析为帐户状态

网址:mydomain.com/home解析为account.home州

网址:mydomain.com/home/解析为account.home州

1 个答案:

答案 0 :(得分:0)

您可以在抽象状态URL中定义ui-view,然后您可以使用该视图使用嵌套状态。请参阅以下内容。

$stateProvider
    .state('account', {
        abstract: true,
        url: "",
        template: '<div ui-view="access">',
    })
.state('account.home', {
    url: '/home',
    views: {
        'access': {  
            templateUrl: '/assets/views/index.html'
        }
     }
}

你也可以定义这个

<div ui-view="access">
你app.html中的

也是如此。