Ionic / Angular: Ошибка: невозможно сопоставить ни один маршрут.Сегмент URL - PullRequest
0 голосов
/ 29 ноября 2018

Я получаю эту ошибку, когда хочу открыть подробный вид компонента в моем списке.Я работаю с Ionic 4.

ОШИБКА Ошибка: Uncaught (в обещании): Ошибка: не удается сопоставить ни один маршрут.Сегмент URL: 'algodetail'

Я нашел много тем с этой ошибкой, но не нашел там решения.Я не уверен, возможно, просто орфографическая ошибка?

Представление списка:

<ion-content padding>
  <ion-card *ngFor="let algo of algoList | async" routerLink="/algodetail/{{algo.id}}">
    <ion-card-header>
      {{ algo.title }}
    </ion-card-header>
  </ion-card>
</ion-content>

Маршруты в app-routing.module.ts:

const routes: Routes = [
  { path: '', loadChildren: './tabs/tabs.module#TabsPageModule' },
  { path: 'algodetail/:id', loadChildren: './algodetail/algodetail.module#AlgodetailPageModule' } 
];

algodetail.page.ts:

import { Component, OnInit } from '@angular/core';
import { Observable } from 'rxjs';
import { Algo } from '../models/algo';
import { FirestoreService } from '../services/data/firestore.service';
import { ActivatedRoute } from '@angular/router';

@Component({
  selector: 'app-algodetail',
  templateUrl: './algodetail.page.html',
  styleUrls: ['./algodetail.page.scss'],
})
export class AlgodetailPage implements OnInit {
  public algo: Observable<Algo>

  constructor(private firestoreService: FirestoreService, private route: ActivatedRoute ) { 

  }

  ngOnInit() {

  }

}

algodetail.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 { AlgodetailPage } from './algodetail.page';

const routes: Routes = [
  {
    path: '',
    component: AlgodetailPage
  }
];

@NgModule({
  imports: [
    CommonModule,
    FormsModule,
    IonicModule,
    RouterModule.forChild(routes)
  ],
  declarations: [AlgodetailPage]
})
export class AlgodetailPageModule {}

Моя файловая система

Filesystem

Ответы [ 2 ]

0 голосов
/ 30 апреля 2019

мое решение:
1-In страница списка
a-конструктор (частный маршрутизатор: маршрутизатор) {}
b-метод: this.router.navigateByUrl ('/ algodetail /' + paramValue);

2-страница подробностей
a-конструктор (частный маршрутизатор: ActivatedRoute) {}
b-get value: this.router.snapshot.params.paramValue;

0 голосов
/ 29 ноября 2018

Глядя на сообщение об ошибке, кажется, что идентификатор не установлен.Если вы включите трассировку enableTracing, она даст вам больше информации?Можете ли вы подтвердить, что значение id действительно задано для маршрута?

...