Mein Icon

Angular 19 Router-Fragmente: Nutzererlebnis und Navigationsperformance verbessern

18. Juni 2025·2 Minuten zu lesen
angular-router-fragments-improve-ux-navigation-performance

Die Navigation innerhalb einer Webanwendung ist ein zentraler Bestandteil der Benutzererfahrung. In Angular fungieren Routen als Wegweiser, die Benutzer zu verschiedenen Ansichten oder Seiten führen, ohne dass die gesamte Seite neu geladen werden muss. Das ist besonders wichtig bei Single-Page Applications (SPAs), bei denen sich der Inhalt dynamisch ändert.

Was sind Angular-Routen?

Angular-Routen definieren Pfade, die bestimmten Komponenten zugeordnet sind. Wenn ein Benutzer auf einen Link klickt, zeigt Angular dynamisch die zugehörige Komponente an – ohne einen vollständigen Seiten-Reload. Das sorgt für eine schnelle, nahtlose Benutzererfahrung.

Einführung in URL-Fragmente in Angular

Zusätzlich zu den Routen bieten Fragmente eine Möglichkeit, innerhalb einer Seite zu navigieren. Ein Fragment ist ein Teil der URL, der auf einen bestimmten Abschnitt einer Seite verweist – ähnlich wie ein HTML-Anker-Link.

Ein Beispiel: Die URL example.com/#kontakt scrollt direkt zum Abschnitt mit der ID kontakt.

Anwendungsbeispiel

Stellen wir uns eine Seite mit verschiedenen Abschnitten wie „Start“, „Produkte“, „Über uns“ und „Kontakt“ vor. Mit Fragmenten kannst du direkt zu jedem Abschnitt navigieren und dem Benutzer eine sanfte Scroll-Erfahrung bieten.

Hinweis: Fragmente in Angular sind reaktiv – sie lösen ein Ereignis aus, wenn sich der URL-Teil ändert. Du kannst darauf mit einem Subscriber reagieren.

Template-Struktur

In deinem Angular-Template:

  • Erstelle eine Navigationsleiste mit routerLink und fragment.
  • Weisen jedem Abschnitt im Template eine passende id zu.
<div class="main-container">

  <div class="nav-container">
    <ul>
      <li routerLink="" fragment="Home"></li>
      <li routerLink="" fragment="Products"></li>
      <li routerLink="" fragment="About"></li>
      <li routerLink="" fragment="Contact"></li>
    </ul>
  </div>

  <div class="component-container">
    <app-home id="Home"></app-home>
    <app-products id="Products"></app-products>
    <app-about id="About"></app-about>
    <app-contact id="Contact"></app-contact>
  </div>

</div>

Auf Fragment-Änderungen im Component-Code reagieren

Um auf Fragment-Änderungen zu reagieren, abonniere das fragment-Observable von Angulars ActivatedRoute. Wenn sich das Fragment ändert, kannst du eine Methode aufrufen, um sanft zum gewünschten Abschnitt zu scrollen.

import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss']
})
export class AppComponent implements OnInit {
  title = 'AngularRouting';

  constructor(private activatedRoute: ActivatedRoute) {}

  ngOnInit() {
    this.activatedRoute.fragment.subscribe((fragment: string | null) => {
      if (fragment) this.jumpToSection(fragment);
    });
  }

  jumpToSection(section: string | null) {
    if (section) document.getElementById(section)?.scrollIntoView({ behavior: 'smooth' });
  }
}

Wichtig: Fragmente auf Unterseiten verwenden

Wenn du Fragmente auf einer Route außerhalb der Startseite (/) verwendest (z. B. /about, /produkte), musst du sowohl den Pfad als auch das Fragment angeben:

<button
  class="w-full"
  [routerLink]="['/about']"
  fragment="Contact"
>Contact</button>

So stellt Angular sicher, dass es zur Route /about navigiert und anschließend zum Abschnitt mit id="Contact" scrollt.

Fazit

Mit Angulars Routing-Funktionen und URL-Fragmenten kannst du:

  • ✅ Die Benutzererfahrung verbessern
  • ✅ Inhalte direkt ansteuerbar machen
  • ✅ Die Performance einer SPA beibehalten

Egal ob du ein Portfolio, eine Produktseite oder eine Dokumentationsplattform erstellst – Angular Router-Fragmente helfen dir, Navigation eleganter und benutzerfreundlicher zu gestalten.

© Felix Stiffel 2025 | Alle Rechte vorbehalten