0

私の 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が間違った順序であるかどうかをチェックする関数を作成し、ユーザーが戻っているかどうかを検出することです。

他の解決策はありますか?私は間違った方法で問題に取り組んでいますか?

4

1 に答える 1