0
許可されていないユーザーが制限付き状態にアクセスしようとすると、制限状態は$ state.go(fromState.name)によって返される前に読み込まれます。それはevent.preventDefault()のように思えます。発砲しない?助けてください< 3ありがとう!
許可されていないユーザーが制限付き状態にアクセスしようとすると、制限状態は$ state.go(fromState.name)によって返される前に読み込まれます。それはevent.preventDefault()のように思えます。発砲しない?助けてください< 3ありがとう!
あなたは非同期コールバックからevent.preventDefault()
を呼び出しています。したがって、呼び出された時点で、イベントリスナー関数は既に返されており、イベントが防止されていないため、ルータは次の状態にナビゲートしています。
あなたは
$rootScope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams) {
if ((toState.name == 'app.admin' || toState.name == 'app.bonus')
&& !AuthService.isAuthenticated()) {
event.preventDefault();
}
}
をしました。しかし、もちろん、それはあなたのサービスではなく約束よりも、同期ブール値を返す必要がある意味場合、それは動作します。