首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单页应用:登录后返回

单页应用:登录后返回
EN

Stack Overflow用户
提问于 2017-02-27 15:47:07
回答 1查看 278关注 0票数 1

需要你的建议。

我有angularjs应用程序,使用ui.router进行路由。

用户首先会看到一个登录屏幕,登录时会显示一个网格。网格是分页的。

现在,如果用户单击浏览器的后退按钮,用户将被带到登录屏幕。

  1. 是正确的行为,您是否会提出不同的建议。如果用户移动到3页时使用分页,
  2. 也应使用后退按钮将用户带到上一页。

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2017-02-27 15:58:48

1.)您可以使用$stateChangeStart阻止客户端返回登录。例如:

代码语言:javascript
复制
/**
 * Before state change / page switch
 */
$rootScope.$on("$stateChangeStart", function (event, next, current, fromState, fromParams, options) {

    //verify login state
    if ($cookies.get('loggedIn') !== undefined) {
        if (next.templateUrl !== "views/login.html") {
            $timeout (function () {
                event.preventDefault();
                $state.go('app.overview');
            }, 50);
        }
    }
});

2.)为分页内的所有页面创建一个URL,以便用户能够使用浏览器历史记录后退/前进:

代码语言:javascript
复制
.state('app.list', {
    url: '/list/:pageId',
    templateUrl: 'views/list.html'
})

使用notify: false在不重新加载的情况下更改页面单击的URL

代码语言:javascript
复制
$state.go('app.list', {pageId: yourNextdPageId}, {notify: false}) 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42480298

复制
相关文章

相似问题

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