Winkel-5 routing auf die gleichen Komponenten, aber unterschiedliche param, funktioniert nicht

Habe ich Winkel-5 basic Anfänger app
es gibt nur 5 Komponenten

meine routing und links so Aussehen

//copied from app.module.ts
const appRoutes:Routes = [
  {path:'',component:HomeComponent},
  {path:'items/:cat',component:ItemsComponent},
  {path:'itemdetail/:id',component:ItemdetailComponent},
  {path:'settings',component:SettingsComponent},
];

//copied from navbar.component.html
<ul>
      <li><a [routerLink]="['/']">Home</a></li>
      <li><a [routerLink]="['/items/8']">Rashion</a></li>
      <li><a [routerLink]="['/items/2']">Vegitables</a></li>
      <li><a [routerLink]="['/items/3']">Fruits</a></li>
      <li><a [routerLink]="['/items/7']">Other</a></li>
      <li><a [routerLink]="['/items/5']">Sweets</a></li>
      <li><a [routerLink]="['/settings']">Settings</a></li>          
</ul>

//copied from items.component.ts
ngOnInit(){
    this.cat = this.route.snapshot.params['cat'];
    this.itemsSrv.getItems(this.cat)
            .subscribe((data)=>{
                this.items=data;
            });
}

- links nur funktionieren, wenn es geht um verschiedene Komponente,

bedeutet, ich kann navigieren Sie von der Startseite zu /items/2

aber wenn ich in der Artikel-Komponente kann ich navigieren Sie zu /items/any-parameter

obwohl von Dingen, auf die ich gehen kann, zu Hause oder Einstellungen der Komponente.

kurz, es ist nun daran, navigieren Sie zu derselben Komponente, auch wenn parameter anders ist.
Winkel-5 routing auf die gleichen Komponenten, aber unterschiedliche param, funktioniert nicht

Ich bemerkte eine Sache, die URL ist immer verändert aber Inhalt der Seite ist die gleiche wie die alte Seite nicht Neuladen neue url 🙁

  • geben Sie Details zu Ihrer Frage. Ich bin nicht immer das, was Sie sagen
  • Verwenden Sie keine spezifischen params, sondern optional params wie hier : [routerLink]=['/items', {param1:'test'}] die route wird wie folgt Aussehen : /Artikel;param1=test . Sie müssen nur angeben, 'items' ohne Parameter auf Ihre routing
  • ich versuchte Ihre Methode, es zu sagen: Nicht alle Routen. URL-Segment: 'Elemente/2'
  • Mit besser Lesen deiner Frage, meine Antwort war nicht das, was Sie brauchen. Ist die Seite die gleichen wie vor dem ändern der parameter ? Wie nimmst du die id ? Ich denke, das ist möglich, dass die Komponente nicht neu erstellt, aber geben lediglich ein Ereignis, das Parameter verändert. Tun Sie abonnieren params ?
  • items Komponenten aufrufen von web service-mit der dynamischen parameter (1,2...9) gibt die Liste der fruits, sweets, vegitables etc auf der Grundlage dieser params
  • Was meinst du mit funktioniert nicht? Werden Sie sagen, dass Ihre ngOnInit code wird nicht ausgeführt wieder?
  • ja du hast Recht, ich tippte console.log(this.cat) innen ngOnInint() es wird nicht ausgeführt, nur wenn ich schon in der Artikel-Komponente.

InformationsquelleAutor alamnaryab | 2018-04-09
Schreibe einen Kommentar