首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在页面重新加载时角度导航到上一状态

在页面重新加载时角度导航到上一状态
EN

Stack Overflow用户
提问于 2016-04-17 15:34:04
回答 2查看 1.2K关注 0票数 1

我想知道在Angular中是否有一种方法可以刷新单个页面应用程序并正确地返回到以前的状态?我使用ui-router (版本0.2.15)来定义不同的状态。

目前,我使用ngStorage存储状态名称,并将$state.go(last_stored_state_name)放在最先加载的状态的控制器中。这样,我就可以到达刷新前的状态,但问题是,在$state.go(last_stored_state_name)运行之前,我可以看到第一个状态的视图。

有谁能告诉我如何绕过第一个状态的视图直接转到所需的状态?

EN

Stack Overflow用户

发布于 2016-04-17 15:45:16

创建一个控制器,并在任何顶级元素上使用ng-controller添加它,比如在<body>标签上,这样它的作用域就可以在整个应用程序和控制器中使用,如下所示:

代码语言:javascript
运行
复制
// Event listener for state change.
$scope.$on('$stateChangeStart', function(event, toState, toParams, fromState) {
    if (last_stored_state_name && isPageRefresh) {
        // prevent execution of current state and navigate to last saved state
        event.preventDefault();
        $state.go(last_stored_state_name);
        return;
    }
});

因此,您不必在控制器中执行$state.go(last_stored_state_name);。这样,您将无法在第二个状态中看到第一个状态。

您可以通过任何类型的检查来确定变量isPageRefresh,比如检查fromState是否为空,或者设置本地存储变量,或者设置全局javascript变量。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36673847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档