私の AngularJS アプリケーションではroute
、ユーザーがログインしていないときに特定のページにリダイレクトしています。そのために、変数 on を使用しています$rootScope
。
ユーザーがログインしているときにブラウザの戻るボタンを防止したいと思います。registration
特定のページ(ビュー)にリダイレクトしたいと思います。問題は、戻るボタン イベントがあるかどうかわからないことです。
私のコードは次のとおりです。
angular.module('myApp',[...]
//Route configurations
}])
.run(function($rootScope, $location){
$rootScope.$on('$routeChangeStart', function(event, next, current){
if(!$rootScope.loggedUser) {
$location.path('/register');
}
});
$rootScope.$on('$locationChangeStart', function(event, next, current){
console.log("Current: " + current);
console.log("Next: " + next);
});
});
したがって$locationChangeStart
、次のような擬似コードを記述します。
if (event == backButton){
$location.path('/register');
}
出来ますか?
next
素朴な解決策は、とcurrent
が間違った順序であるかどうかをチェックする関数を作成し、ユーザーが戻っているかどうかを検出することです。
他の解決策はありますか?私は間違った方法で問題に取り組んでいますか?