gpt4 book ai didi

javascript - Angular UI 路由器重定向到默认页面

转载 作者:行者123 更新时间:2023-11-28 05:46:02 25 4
gpt4 key购买 nike

我有一个模块化应用程序,其中我将路线分成多个文件。

所以我的系统是。

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 的登录文件夹和一个包含 Register.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 注入(inject)这两个东西以及用户模块,其 js 文件如下所示

angular.module('User', ['User.Controllers', 'User.Services', 'User.Routes']);

用户路由文件包含登录页面和注册页面的路由

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


});

当我从主 Controller 执行 $state.go("Login") 时,它会将我带到登录页面,没有任何问题。但我在登录页面上有一个与此代码块关联的注册按钮

//Move user to the register page
$scope.registerClick = function(){
$state.go("Register");
}

这会将我重定向到注册页面大约半秒,然后立即将其踢回到 html 主页面。所以我的问题是我需要知道为什么状态不停留在注册页面并立即移动到 main.html 页面。注册页面是页面历史堆栈的一部分,因为我可以使用硬件后退按钮或在测试期间按 Chrome 上的返回键“返回”它。我尝试将路由移回主路由文件并且不注入(inject)用户路由,但它产生了相同的结果。

==============编辑=============应用程序加载后,如果我更改页面,它将在主页之后转到注册页面,并添加返回登录页面的链接,这种行为不会发生。我只是对不同之处感到困惑。

最佳答案

设置否则

.config(function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/defaultpage');
.state('login', {
url: '/login',
templateUrl: 'templates/template.html',
controller: 'Ctrl'
})
.otherstates etc....

});

关于javascript - Angular UI 路由器重定向到默认页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38513906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com