私はルートが複数のファイルに分割されているモジュラーアプリケーションを持っています。角度UIルーターがデフォルトページにリダイレクト
私のシステムはです。 Register.html
と
Top
--Main.Module.js
--Main.Routes.js
--Main.Controllers.js
--Main.html
--user (folder)
----User.Module.js
----User.Routes.js
----User.Controllers.js
とユーザーフォルダに私がlogin.htmlを持つログインフォルダとレジスタのフォルダを持っているメインモジュールファイルは、この
angular.module('Main', ['ionic', 'Main.Routes', 'Main.Controllers', "User"])
.run(function($ionicPlatform) {
$ionicPlatform.ready(function() {
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
// for form inputs)
if (window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
cordova.plugins.Keyboard.disableScroll(true);
}
if (window.StatusBar) {
// org.apache.cordova.statusbar required
StatusBar.styleDefault();
}
});
});
のように見えますメインルートファイルは
angular.module('Main.Routes', [])
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('Loader', {
url: '/',
templateUrl: '/views/Main.html',
controller: 'MainController'
});
$urlRouterProvider.otherwise('/');
});
が含まれており、Main.Module.jsは、これら二つのものだけでなく、Uを注入しますファイルをJS SERモジュールは、ユーザのルートファイルはログインページのルートやレジスタページ
angular.module('User.Routes', [])
.config(function($stateProvider) {
$stateProvider
.state('Login', {
url: '/user/login',
templateUrl: 'views/user/login/Login.html',
controller: 'LoginController'
})
.state('Register', {
url: '/user/register',
templateUrl: 'views/user/register/Register.html'
});
// if none of the above states are matched, use this as the fallback
});
そして、私は$ state.go(「ログイン」)を行うがあり、この
angular.module('User', ['User.Controllers', 'User.Services', 'User.Routes']);
のように見えますメインコントローラーからは問題なくログインページに移動します。しかし、私は、その後すぐにメインのHTMLページに戻って以上のことをキック約半分秒レジスタページに私をリダイレクトするコード
//Move user to the register page
$scope.registerClick = function(){
$state.go("Register");
}
のこのブロックに関連付けられているログインページ上の登録ボタンがあります。ですから、私の質問は、なぜ国家が登録ページにいないのかを知る必要があり、すぐにmain.htmlページに移動しています。レジスタページは、ページヒストリスタックの一部です。ハードウェアの戻るボタンまたはテスト中にクロムを押して戻ることができるためです。私はルートをメインルートファイルに戻してみましたが、ユーザールートは注入しませんでしたが、同じ結果が得られました。私は、ページを変更した場合
アプリケーションがロードしたら============== EDITの============= 、それはメインページの後に行きますを登録ページに追加し、ログインページにリンクを追加すると、この現象は発生しません。私はちょっと違うものを混乱させているだけです。
されている必要がありますどのような 'はconsole.log($のstate.href( "登録"))を行う'、あなたが得るものを教えて? – Rachmaninoff
#/ user/register RegisterControllerから完了したとき – SoulOfSet
そして、もし私がアドレスバーから直接URLに行くなら、問題はありません。それはログインページからリダイレクトしようとしたときです。この問題はありますか? – SoulOfSet