【问题标题】:Errors Routing to a page with Tabs in Ionic 4在 Ionic 4 中路由到带有选项卡的页面时出错
【发布时间】:2021-10-09 18:55:36
【问题描述】:

我收到错误“错误:无法匹配任何路由。URL 段:'admin-home/admin-fixtures' 错误:无法匹配任何路由。 URL 段:'admin-home/admin-fixtures'" 当我尝试路由到包含标签的页面时

我的主页也是一个标签页(最初由 ionic 生成),这就是我要遵循的示例。

这是我认为相关的代码。在我的页面 Login.mhtl 上,我单击一个按钮,该按钮将我链接到 admin-home,它应该是一个包含 3 个选项卡的页面

 this.router.navigateByUrl('admin-home');

这是我的 admin-home.html 的代码

<ion-header>
  <ion-toolbar color="dark" class="ion-icon-toolbar">
       <ion-buttons slot="start">
            <ion-button (click)="goBack()"><ion-icon slot="icon-only" 
name="arrow-back"></ion-icon></ion-button>
      </ion-buttons>
    <ion-title>Admin Home</ion-title>
        <ion-buttons slot="end">
       <ion-button (click)="logOut()">
        <ion-icon slot="icon-only" name="log-out"></ion-icon>
      </ion-button>
     </ion-buttons>
   </ion-toolbar>
</ion-header>


<ion-content padding>

<ion-tabs>
   <ion-tab-bar slot="top">
    <ion-tab-button tab="admin-fixtures">
      <ion-label>Fixtures</ion-label>
    </ion-tab-button>

      <ion-tab-button tab="admin-players">
      <ion-label>Players</ion-label>
    </ion-tab-button>

    <ion-tab-button tab="admin-admins">
      <ion-label>Admins</ion-label>
    </ion-tab-button>

  </ion-tab-bar>

</ion-tabs>

</ion-content>

这里是 admin-home.router.module.ts

import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { AdminHomePage } from './admin-home.page';

const routes: Routes = [
  {
    path: 'admin-home',
    component: AdminHomePage,
    children: [
      { path: 'admin-fixtures', loadChildren: '../admin-fixtures/admin-fixtures.module#AdminFixturesPageModule'},
      { path: 'admin-players', loadChildren: '../admin-players/admin-players.module#AdminPlayersPageModule'},
      { path: 'admin-admins', loadChildren: '../admin-admins/admin-admins.module#AdminAdminsPageModule'},
    ]
  },
  {
    path: '',
    redirectTo: '/admin-home/admin-fixtures',
    pathMatch: 'full'
  }
];

@NgModule({
  imports: [
    RouterModule.forChild(routes) 
  ],
  exports: [RouterModule]
})
export class AdminHomePageRoutingModule {}

添加 admin-fixture.module.ts 代码

import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { IonicModule } from '@ionic/angular';
import { AdminFixturesPage } from './admin-fixtures.page';

@NgModule({
  imports: [
    IonicModule,
    CommonModule,
    FormsModule,
    RouterModule.forChild([{ path: '', component: AdminFixturesPage }])
  ],
  declarations: [AdminFixturesPage]
})
export class AdminFixturesPageModule {}

【问题讨论】:

  • 您是否有一个加载了admin-fixtures.module 的子路由模块?
  • @chrismclarke 我已经添加了 admin-fixture.module.ts
  • 任何想法@chrismclarke?
  • 检查时有点难以分辨,你能做一个最小的 stackblitz 或类似的吗?

标签: angular ionic-framework ionic4 angular-routing ionic-tabs


【解决方案1】:

您收到此错误是因为您尝试使用错误的页面 URL 进行路由。

*"错误:无法匹配任何路由。URL 段:'admin-home/admin-fixtures' 错误:无法匹配任何路由。URL 段:'admin-home/admin-fixtures'"

this.router.navigateByUrl('/admin-home/admin-fixtures');

  this.router.navigate(['/admin-home/admin-fixtures']);

像这样更改您的代码(代码如上所示)。代表(代码如下)

 this.router.navigateByUrl('admin-home');

也许这会对你有所帮助...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    • 2018-03-17
    • 2020-08-16
    • 2019-03-06
    • 2020-08-29
    • 2020-01-26
    相关资源
    最近更新 更多