【发布时间】:2020-02-12 05:06:15
【问题描述】:
我想使用从 ionic3 迁移的 ionic4 应用程序正确进行页面转换。
我想移动设置页面,但它不起作用。
作为页面过渡的结构,
标签在顶部,主页在其下方,
它旨在从主页过渡到设置屏幕。
(标签⇒主页⇒设置)
this.router.navigateByUrl ('tabs / home / settings')
, 但是即使点击了目标按钮,画面也不会改变。
(还有其他的画面可以正确转场,但我无法通过比较来区分。)
请查看下面的代码。
home.page.hmtl
<ion-buttons class="settings-button" slot="primary">
<ion-button icon-only (click)="selectFavorites()">
<ion-icon name="ios-settings"></ion-icon>
</ion-button>
</ion-buttons>
home.page.ts
selectFavorites() {
this.router.navigateByUrl('tabs/home/settings');
}
home-routing.module.ts
const routes: Routes = [
{
path: '',
component: HomePage
},
{
path: 'settings',
loadChildren: '../home/fav-settings/fav-settings.module#FavSettingsPageModule'
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class HomePageRoutingModule {}
settings.module.ts
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
FavSettingsPageRoutingModule
],
declarations: [FavSettingsPage]
})
export class FavSettingsPageModule {}
settings-routing.module.ts
const routes: Routes = [
{
path: '',
component: FavSettingsPage
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class FavSettingsPageRoutingModule {}
tabs-routing.module.ts
const routes: Routes = [
{
path: '',
component: TabsPage,
children: [
{
path: 'home',
children: [
{
path: '',
loadChildren: () =>
import('../home/home.module').then(m => m.HomePageModule)
},
]
},
{
path: '',
redirectTo: 'home',
pathMatch: 'full'
}
]
},
{
path: '',
redirectTo: 'home',
pathMatch: 'full'
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class TabsPageRoutingModule {}
app-routing.module.ts
const routes: Routes = [
{ path: '', redirectTo: 'home', pathMatch: 'full' },
{
path: 'login',
loadChildren: () => import('./login/login.module').then( m => m.LoginPageModule)
},
{
path: 'tabs',
loadChildren: () => import('./tabs/tabs.module').then( m => m.TabsPageModule)
},
];
@NgModule({
imports: [
RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })
],
exports: [RouterModule]
})
export class AppRoutingModule { }
app.module.ts
@NgModule({
declarations: [
AppComponent,
],
imports: [
BrowserModule,
FormsModule,
HttpClientModule,
LinkyModule,
IonicModule.forRoot({mode:'ios', backButtonText: '', swipeBackEnabled: true}),
AppRoutingModule,
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: (createTranslateLoader),
deps: [HttpClient]
}
}),
],
bootstrap: [AppComponent],
providers: [
Calendar,
StatusBar,
SplashScreen,
InAppBrowser,
Geolocation,
Network,
]
})
export class AppModule { }
对于给您带来的任何不便,我们深表歉意,但谢谢。
【问题讨论】:
标签: angular ionic-framework ionic3 ionic4