子状态不与 UI-Router 一起工作

Child states not working with UI-Router

我有以下代码片段:

$stateProvider.state('unlogged', {
    url: '/',
    templateUrl: 'unlogged/unlogged.html'
}).state('sign-in', {
    parent: 'unlogged',
    url: '/sign-in',
    templateUrl: 'sign-in/sign-in.html',
    controller: 'SignInCtrl'
}).state('sign-up', {
    parent: 'unlogged',
    url: '/sign-up',
    templateUrl: 'sign-up/sign-up.html',
    controller: 'SignUpCtrl'
});

当我转到 /sign-up 时,它既没有加载父项也没有加载子项。

我的 HTML 当我检查页面时:<section ui-view="" class="ng-scope"></section>

unlogged.html 有 ui-view 指令:<div class="row" ng-class="{slide : effect}" ui-view></div>

a working example

为了使子状态 url 在没有父部分的情况下工作,我们需要用符号 [= 重置 url 映射13=]:

.state('sign-in', {
    parent: 'unlogged',
    url: '^/sign-in',
    ...
  })
.state('sign-up', {
    parent: 'unlogged',
    url: '^/sign-up',
    ...
  });

实际查看 here

也许还观察这个:

  • angular ui-router parent url set to /