1
私のアプリケーションでは、$ routeProvide.otherwise関数を使用してユーザーを '/ home'ルートにリダイレクトしました。ユーザーがログインしていない場合でも、私は$ routeChangeStartを使用してログインページにリダイレクトしています - 私は$ routeChangeStartは二回呼び出されているコンソールに気づいた
$rootScope.$on('$routeChangeStart', function(event, next, current) {
console.log('$routeChangeStart');
$rootScope.layout.loading = true;
if ($rootScope.loggedIn === false) {
if (next.templateUrl === "login/login.html") {
// in order to skip this behavior when already navigating to the login page,
// we have to explicitly check the next templateUrl
} else {
console.log('DENY: redirecting to login');
//event.preventDefault();
$location.path('/login');
}
} else {
console.log('ALLOW');
}
});
。理由を理解できません!
を試してみてください2回目はログインページにリダイレクトするときです。 – DevTrong
ダブルコールを防止するソリューションはありますか?私の実際のアプリでは、ログインページへのリダイレクトは実際には2回起こっています。 – Rishabh
ホームコントローラの$ rootScope。$ onイベントを(.run()の代わりに)追加し、ログインページにリダイレクトするときにイベントの登録を解除します。 – DevTrong