アプリが初期化されたときの最初のページの読み込みで、ユーザーをログインページにリダイレクトしたいと思います。コードの関連部分はこれだと思います
$rootScope.$on("$routeChangeStart", function (event, next, current) {
alert("change location");
$location.path('/login');
});
https://github.com/fnakstad/angular-client-side-auth/blob/master/app/js/app.jsに基づいています。問題は、ページの読み込み時にアラートがトリガーされますが、場所は変更されません。アプリのナビゲーション項目をクリックする必要があり、ログイン アクションが呼び出されてルートが変更されます。
.run(['$rootScope', '$location', '$cookieStore', function ($rootScope,
$location, $cookieStore) {
$location.path('/login');
$rootScope.$on("$routeChangeStart", function (event, next, current) {
$location.path('/login');
});
$rootScope.appInitialized = true;
}]);
これは機能しますが、冗長に思えます。また、なぜアラートはトリガーされるのに場所の変更はトリガーされないのでしょうか?
ページ全体の読み込み時に場所が変わらないのはなぜですか? これを修正する方法は?
完全なコードhttp://jsfiddle.net/qfSC3/ですが、フィドルは機能しません。