2017-02-27 82 views
1

需要您的建议。单页应用程序:登录后返回

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

用户首先显示一个登录屏幕,登录时显示一个网格。 网格分页。

现在,如果用户点击浏览器后退按钮,用户将被带到登录屏幕。
1.这是正确的行为,你会建议吗?
2.另外,如果用户移动到3页使用分页应该后退按钮使用户到前一页。

在此先感谢

+0

这完全取决于您自己决定是否您想要的行为或不行为。 –

+0

任何意见或建议Anony? – lin

回答

1

1)你可以阻止客户端回去用$stateChangeStart登录。例如像这样:

/** 
* 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)为您的分页中的所有网页的网址,以便用户能够使用浏览器的历史去前进/后退:

.state('app.list', { 
    url: '/list/:pageId', 
    templateUrl: 'views/list.html' 
}) 

更改URL在页面点击不用重新加载使用notify: false

$state.go('app.list', {pageId: yourNextdPageId}, {notify: false})