Angular UIRouter不随子状态而改变

时间:2017-07-27 05:53:20

标签: angularjs angular-ui-router

我正在使用Angular UIRouter并设置了以下状态:

$stateProvider.state('forgot-password', {
        url: '/forgot-password',
        component: 'forgotPassword'
})
.state('forgot-password.reset', {
        url: '/:token',
        component: 'forgotPasswordReset'
});

当我导航到/forgot-password时,我得到了正确的视图,但是当我导航到/forgot-password/abc时,我仍然被定向到forgotPassword。如何让路由器将我发送到forgot-password.reset状态?

1 个答案:

答案 0 :(得分:4)

为什么会发生这种情况的原因很少。就在我的头顶:

  • 您的ui-view组件的模板中没有forgotPassword指令。
  • 其中一个或两个组件未注册(但如果是这种情况,您应该会看到控制台错误)。
  • 您正在点击错误的网址以尝试激活状态。
  • 由于某种未知原因,某些其他州正在被激活。也许你已经在某个地方设置了一个redirectTo规则,或者你是从你的控制器那里做的。

UI路由器非常庞大,如果你不小心可能会变得笨拙,所以在不知道你的项目的情况下很难给出太详细的答案。如果上述任何建议不起作用,请提供更多详细信息。