我有一个问题,SPA应用程序编写的angularJS。应用程序由三个视图组成-登录视图、主视图和注销视图。
我的线路提供商:
function Router($routeProvider) {
$routeProvider
.when('/login', {
templateUrl: 'app/components/login/login.tmpl.html',
controller: 'login.ctrl',
controllerAs: 'vm'
})
.when('/main', {
templateUrl: 'app/components/dashboard/main.tmpl.html',
controller: 'dashboard.ctrl',
controllerAs: 'vm'
})
.when('/logout', {
templateUrl: 'app/components/logout/logout.tmpl.html',
controller: 'logout.ctrl',
controllerAs: 'vm'
})
.otherwise({
redirectTo: '/login'
});
}用例: 1)用户登录。2)用户在主视图中查看内容,3)用户注销。4)用户被重定向到注销视图以进行确认5)用户被重定向到登录视图
如果在步骤5之后按后退浏览器按钮,我将被重定向到主视图。在登录视图中,是否有一种方法可以更改后退按钮的行为?我相信这是一件很简单的事情,如果问题重复了,我很抱歉。感谢您的时间和回应!
发布于 2015-05-21 14:52:51
请参阅工作示例:http://plnkr.co/edit/46O0znC5HFDE4cYXSm5h?p=preview
在登录函数中将数据存储在cookie中,如下所示:
$cookies.userinfo = {
'id': 1,
'name': 'pqr'
};在登出时删除那些数据-
delete $cookies.userinfo;然后检查'angular.isDefined($cookies.userinfo)‘(userinfo是在存储数据时给出的cookie名称),如果查找,然后将其重定向到您想要在登录后查看的页面。i.e
app.run(function ($cookies) {
$rootScope.$on("$routeChangeStart", function () {
if (angular.isDefined($cookies.userinfo)) {
$location.path("/pathname");
}
});
});https://stackoverflow.com/questions/30376568
复制相似问题