过渡到没有重新加载的新URL状态

时间:2016-09-01 19:31:40

标签: angular-ui-router

我正在使用Angular UI Router 1.0.0-beta.1。尝试从/myroute/new状态转换为/myroute/5。由于id为5的状态与new状态非常相似,因此我不想重置重要的用户状态。

我尝试了相当充分记录的方法,例如使用transitionTo方法,例如:$state.transitionTo(myRoute, params, {notify: false});,但这仍然会刷新应用。

如何以静默方式从第一个网址转换到另一个网址?

1 个答案:

答案 0 :(得分:1)

您可以将自己的资源定义为dynamic,然后使用$state.params在代码中阅读。

您在哪里定义州:

$stateProvider.state({
    url: '/myroute/:id',
    params: {
        id: {
           dynamic: true
           ...

在你的控制器中,注入$state,然后你可以读取逻辑中的参数。您还可以在控制器上放置uiOnParamsChanged方法以侦听已更改的参数。这是1.0.0-beta.3。更多阅读:https://github.com/angular-ui/ui-router/issues/1758