Router-Navigation in Angular

Rana Hasnain Khan 15 Februar 2024
Router-Navigation in Angular

Wir werden die Router-Service-Navigationsmethode in Angular vorstellen und diskutieren, wie man sie für die Navigation in Angular-Anwendungen verwendet.

Router-Navigation in Angular

Die Navigation ist einer der wichtigsten Bestandteile jeder Webanwendung. Selbst wenn wir eine Single-Page-Anwendung (SPA) erstellen, die nicht mehrere Seiten hat, verwenden wir immer noch die Navigation, um von einem Abschnitt zum anderen zu wechseln.

Durch die Navigation können Benutzer in Webanwendungen leicht finden, wonach sie suchen. Wenn wir eine klare und leicht verständliche Navigation bieten, macht das unsere Webanwendung erfolgreich.

Angular bietet viele Methoden zur Navigation, um einfaches bis komplexes Routing einfach zu erreichen. Angular bietet ein separates Modul zum Einrichten der Navigation in unserer Webanwendung.

Die Router-Methode navigate() wird verwendet, um den Benutzer programmgesteuert von einer Seite zur anderen zu navigieren.

Wir gehen ein Beispiel durch, in dem wir mit navigate() durch verschiedene Komponenten navigieren. Lassen Sie uns also mit dem folgenden Befehl eine neue Anwendung erstellen.

# angular
ng new my-app

Nachdem wir unsere neue Anwendung in Angular erstellt haben, gehen wir mit diesem Befehl zu unserem Anwendungsverzeichnis.

# angular
cd my-app

Lassen Sie uns nun unsere App ausführen, um zu überprüfen, ob alle Abhängigkeiten korrekt installiert sind.

# angular
ng serve --open

Wir werden Komponenten mithilfe von Befehlen generieren. Zuerst generieren wir unsere home-Komponente.

# angular
ng generate component home

Nachdem wir unsere home-Komponente generiert haben, werden wir unsere about-Komponente generieren.

# angular
ng generate component about

Zuletzt generieren wir unsere Komponente services mit dem folgenden Befehl.

# angular
ng generate component services

Nach dem Generieren unserer Komponenten haben wir drei Komponenten in separaten Ordnern mit 3 Dateien.

Ausgabe:

Router navigieren in Angularkomponenten

Nachdem wir unsere Komponenten generiert haben, erstellen wir Views für sie. Wir öffnen about.component.html aus dem Ordner about und fügen den folgenden Code hinzu.

# angular
<div class="container" >
  <h1> This is About component </h1>
  <h3> Try navigating to other components </h3>
</div>

Wir öffnen die Datei home.component.html aus dem Ordner home und fügen den folgenden Code hinzu.

# angular
<div class="container">
 <h1> This is Home component </h1>
 <h3> Try navigating to other components </h3>
</div>

Als nächstes öffnen wir die Datei services.component.html aus dem Ordner services und fügen den folgenden Code hinzu.

# angular
<div class="container">
 <h1> This is Services component </h1>
 <h3> Try navigating to other components </h3>
</div>

Sobald wir unsere Komponenten und Ansichten fertig haben, werden wir unsere Routen in app-routing.module.ts definieren. Wie unten gezeigt, importieren wir ngModule, Routes und RouterModule aus router und importieren unsere erstellten Komponenten.

# angular
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { AboutComponent}  from './about/about.component';
import { HomeComponent} from './home/home.component';
import { ServicesComponent } from './services/services.component';

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

Nachdem wir alles importiert haben, definieren wir im Folgenden die Routen unserer Komponenten.

# angular
const routes: Routes = [

    { path: 'about', component: AboutComponent },
    { path: 'home', component: HomeComponent},
    { path: 'services', component: ServicesComponent },
 ];

Wir erstellen unser Navigationsmenü in app.component.html. Jeder Link ruft eine Funktion mit der Methode click aufrufen.

Wir werden Komponentendaten mit router-outlet anzeigen, wie unten gezeigt.

# angular
<ul class="nav navbar-nav">
  <li>
    <a (click)="goToHome()">Home</a>
  </li>
  <li>
    <a (click)="goToAbout()">About</a>
  </li>
  <li>
    <a (click)="goToServices()">Services</a>
  </li>
</ul>

<router-outlet> </router-outlet>

Wir erstellen unsere Funktionen goToHome(), goToAbout() und goToServices(). Wir werden app.component.ts öffnen und Router aus router importieren und mit router.navigate werden wir diese Funktionen erstellen, um zwischen den Komponenten zu navigieren, wie unten gezeigt.

# angular
import { Component } from '@angular/core';
import { Router } from '@angular/router';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css'],
})
export class AppComponent {
  constructor(private router: Router) {}

  goToHome() {
    this.router.navigate(['/', 'home']);
  }
  goToAbout() {
    this.router.navigate(['/', 'about']);
  }
  goToServices() {
    this.router.navigate(['/', 'services']);
  }
}

Ausgabe:

Router Navigieren Arbeitsbeispiel in Angular

Wie Sie am obigen Beispiel sehen können, können wir mit navigate() und dem Definieren von Routen einfach von einer Komponente zur anderen navigieren.

In diesem Tutorial haben wir also gelernt, wie man Komponenten erstellt und Routen definiert und wie man mit navigate() einfach zwischen Komponenten navigiert.

Demo hier

Rana Hasnain Khan avatar Rana Hasnain Khan avatar

Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.

LinkedIn

Verwandter Artikel - Angular Router