Detaillierte Erläuterung der Angular-Routing-Unterrouten

Detaillierte Erläuterung der Angular-Routing-Unterrouten

1. Subroutensyntax

2. Beispiele

Auf der Produktdetailseite werden neben den Produkt-ID-Informationen auch die Produktbeschreibung und die Informationen zum Verkäufer angezeigt.

Die Komponenten „Produktbeschreibung“ und „Verkäuferinformationen“ werden über eine Unterweiterleitung innerhalb der Komponente „Produktdetails“ angezeigt.

1. Erstellen Sie 2 neue Komponenten und ändern Sie deren Inhalt

ng g Komponente productDesc
ng g KomponentenverkäuferInfo

Der entscheidende Punkt besteht darin, die Verkäuferinformationskomponente so zu ändern, dass die Verkäufer-ID angezeigt wird.

importiere { Komponente, OnInit } von '@angular/core';
importiere { ActivatedRoute } von '@angular/router';

@Komponente({
  Selektor: ‚App-Verkäufer-Info‘,
  Vorlagen-URL: "./seller-info.component.html",
  styleUrls: ['./seller-info.component.css']
})
Exportklasse SellerInfoComponent implementiert OnInit {
  private Verkäufer-ID: Nummer;
  Konstruktor(private Routeninfo: AktivierteRoute) { }

  ngOnInit() {
    this.sellerId = this.routeInfo.snapshot.params["id"];
  }

}

2. Ändern Sie die Routing-Konfiguration

Untergeordnete Routen zur Produktkomponente hinzufügen

const routes: Routen = [
  { path: '', redirectTo : 'home',pathMatch:'full' }, //Der Pfad ist leer { path: 'home', component: HomeComponent },
  { Pfad: 'Produkt/:ID', Komponente: Produktkomponente, untergeordnete Elemente:[
    { Pfad: '', Komponente: ProductDescComponent },
    { Pfad: 'Verkäufer/:id', Komponente: SellerInfoComponent }
  ] },
  { Pfad: '**', Komponente: Code404Component }
];

3. Ändern Sie die Vorlage von product.component.ts

Hinweis: routerLink muss als ./ konfiguriert werden und / kann nicht erneut verwendet werden.

<p>
  Dies ist die Produktinformationskomponente</p>
<p>
  Die Produkt-ID lautet: {{productId}}
</p>

<a [routerLink]="['./']">Produktbeschreibung</a>
<a [routerLink]="['./seller',99]">Informationen zum Verkäufer</a>
<Router-Steckdose></Router-Steckdose>

Wirkung:

Die Hauptroute ist /product/2 und die Unterroute ist eine leere Zeichenfolge:

Die Produktdetailseite der Hauptroute wird angezeigt, und die Produktbeschreibungskomponente, die der leeren Zeichenfolge der Unterroute entspricht, wird ebenfalls angezeigt.

Klicken Sie auf den Link mit den Verkäuferinformationen:

Der URL-Pfad wird: http://localhost:4201/product/2/seller/99.

Außerdem werden die Unterroute „seller/99“ und die entsprechende Komponente „sellerInfo“ angezeigt.

Beachten:

1. Der Socket-Router-Out bildet eine Eltern-Kind-Beziehung und kann unendlich verschachtelt werden

2. Alle Routing-Informationen werden auf Modulebene in app.routing.module.ts konfiguriert.

Routing-Informationen liegen auf Modulebene und die Komponenten selbst kennen keine Routing-bezogenen Informationen.

Eltern-Kind-Beziehung zwischen Sockets – untergeordnetes Routing.

Geschwisterbeziehung zwischen Sockets - Hilfsrouting.

Oben finden Sie eine ausführliche Erläuterung des Subroutings des Angular-Routings. Weitere Informationen zu Angular finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Angular-Routing-Grundlagen
  • Detaillierte Erläuterung der Angular-Routing-Animation und der erweiterten Animationsfunktionen
  • Angular-Multilevel-Routing zum Erreichen eines Sprungs zur Anmeldeseite (Tutorial für Anfänger)
  • Verwendung des Standardroutings in Angular

<<:  Detaillierte Erklärung der MySQL-Sperren (Tabellensperren, Zeilensperren, gemeinsame Sperren, exklusive Sperren, Lückensperren)

>>:  Zusammenfassung der Lastausgleichsmethoden von Nginx

Artikel empfehlen

Machen Sie sich nicht die Mühe mit JavaScript, wenn es mit CSS geht

Vorwort Jede Anwendung, die in JavaScript geschri...

Bringen Sie Ihnen bei, wie Sie wartbaren JS-Code schreiben

Inhaltsverzeichnis Was ist wartbarer Code? Code-K...

JS realisiert den Scroll-Effekt von Online-Ankündigungen

In diesem Artikel wird der spezifische JS-Code zu...

Apache Calcite-Code zur Dialektkonvertierung

Definition Calcite kann SQL vereinheitlichen, ind...

Verwendung von VNode in Vue.js

Was ist VNode In vue.js gibt es eine VNode-Klasse...

Universelle Lösung für den Fehler beim Starten von MySQL unter Windows

MySQL-Startfehler Vor der Installation von MySQL ...

So stellen Sie zabbix_agent in Docker bereit

zabbix_agent-Bereitstellung: Empfehlung: zabbix_a...