如何在使用angularJS注销时禁用后退按钮
问题描述:
我正在使用应用程序,并且我想禁用按钮,但只是在一个视图(登录视图)中。当我点击注销时,我被重定向到第一个视图,即登录视图,在这里我想禁用后退按钮。 我尝试了一些在这个网站上提供的解决方案,但是它们在所有视图中都阻止了后退按钮。如何在使用angularJS注销时禁用后退按钮
这是我的注销控制器,我也有登录视图的登录控制器。
app.controller('LogoutCtrl', function($scope, $location, $state, $http, $window, $rootScope, $cookieStore, $cookies) {
$scope.logout = function() {
var cookies = $cookies.getAll();
angular.forEach(cookies, function(v, k) {
$cookies.remove(k);
});
};
});
在我注销控制器,我试图删除,因为我与cookies工作的所有Cookie,但我仍然有后退按钮的这个问题,它允许用户去其他只需按下后退按钮即可查看,无需登录。
请问我该怎么做?
答
把这个在你的config /路由文件和变化,只要你想
这会在你的路线变化
例如检查每次: -
angular
.module('MyApp')
.run(function($state, $scope,$cookies) {
$scope.$on('$routeChangeStart', function(next, current) {
if(!$cookies.get('user')){
$state.go('login');
}
})
})
+0
谢谢,我尝试过,但我仍然有同样的问题! – Salma
+0
你在使用ui-route或ng-route? –
你指的是浏览器的返回键? – jbrown
你如何处理你的网页,你需要检查是否重定向到任何部分,如果没有记录总是重定向到登录。无需阻止后退 –
我认为问题在于你如何处理你的会话和状态。 –