ionic-framework - 从登录页面导航到 Ionic4 中的选项卡?
问题描述
我正在创建一个应用程序,我想从登录页面移动到选项卡页面。当我尝试导航到选项卡页面时,它只显示没有选项卡的主页。
这是我的代码。
应用程序路由.module.ts
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
const routes: Routes = [
{ path: '', redirectTo: 'login', pathMatch: 'full' },
{ path: 'login', loadChildren: './pages/login/login.module#LoginPageModule' },
{ path: 'tabs', loadChildren: './pages/tabs/tabs.module#TabsPageModule' }
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
tabs.module.ts
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { Routes, RouterModule } from '@angular/router';
import { IonicModule } from '@ionic/angular';
import { TabsPageRoutingModule } from './tabs.router.module';
import { TabsPage } from './tabs.page';
import { HomePageModule } from '../home/home.module';
import { ActivityPageModule } from '../activity/activity.module';
import { MygroupsPageModule } from '../mygroups/mygroups.module';
import { MessagesPageModule } from '../messages/messages.module';
import { SettingsPageModule } from '../settings/settings.module';
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
TabsPageRoutingModule,
HomePageModule,
ActivityPageModule,
MygroupsPageModule,
MessagesPageModule,
SettingsPageModule
],
declarations: [TabsPage]
})
export class TabsPageModule {}
tabs.router.module.ts
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { TabsPage } from './tabs.page';
import { HomePage } from '../home/home.page';
import { ActivityPage } from '../activity/activity.page';
import { MygroupsPage } from '../mygroups/mygroups.page';
import { MessagesPage } from '../messages/messages.page';
import { SettingsPage } from '../settings/settings.page';
const routes: Routes = [
{
path: 'tabs',
component: TabsPage,
children: [
{
path: '',
redirectTo: '/tabs/(home:home)',
pathMatch: 'full',
},
{
path: 'home',
outlet: 'home',
component: HomePage
},
{
path: 'activity',
outlet: 'activity',
component: ActivityPage
},
{
path: 'mygroups',
outlet: 'mygroups',
component: MygroupsPage
},
{
path: 'messages',
outlet: 'messages',
component: MessagesPage
},
{
path: 'settings',
outlet: 'settings',
component: SettingsPage
}
]
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class TabsPageRoutingModule {}
从登录页面,我以这种方式导航。
this.router.navigate(['tabs']);
但这只是显示没有标签的主页。你能指导我该怎么做,即使标签没有显示在 DOM 中,我试图检查它们。它只是将主页显示为默认页面。
解决方案
我有同样的问题,导航在标签页中不起作用。为了避免这个问题,我这样做了:
this.navCtrl.navigateRoot('/home'); // I use NavCtroller instead of Router
在 app-routing.module.ts 中:
{ path: 'home', redirectTo: '/tabs/(home:home)' },
我希望它会在下一个测试版中正常工作。
推荐阅读
- wordpress - 如何为特定类别创建元框 wordpress?
- powershell - 如何在参数名称中使用变量
- c# - 如何在 aspnet mvc 中使用 javascript 谷歌图表库
- java - Spring通过Service访问Join Tables的元素
- regex - 迭代python中的字符串替换函数
- python - 有没有一种简单的方法来平滑曲线而不考虑未来值并且没有时间偏移?
- javascript - 输入文本时如何删除错误消息
- linux - Docker:带有参数和引号的入口点
- javascript - 从 Chrome 扩展替换网站的整个 HTML 文档
- c++ - 泛型类的运算符重载,我做得对吗?