Maison > interface Web > js tutoriel > le corps du texte

Comment implémenter une RouteReuseStrategy personnalisée pour détacher des routes spécifiques dans Angular ?

Patricia Arquette
Libérer: 2024-10-25 08:37:02
original
758 Les gens l'ont consulté

How to Implement a Custom RouteReuseStrategy to Detach Specific Routes in Angular?

Implémentation de ShouldDetach de RouteReuseStrategy pour des routes spécifiques dans Angular 2

Contexte

RouteReuseStrategy vous permet de demander à Angular de conserver un composant au lieu de le détruire lors de la navigation , optimisant les performances et préservant l'état du composant.

Énoncé du problème

Vous souhaitez stocker l'état pour les routes comme "/documents" mais pas pour les routes spécifiques comme "/documents/:id."

Solution

Implémentez une RouteReuseStrategy personnalisée en étendant la RouteReuseStrategy intégrée et en remplaçant les méthodes appropriées :

importer depuis le routeur d'Angular

<code class="typescript">import { RouteReuseStrategy } from '@angular/router';</code>
Copier après la connexion

Créer une classe implémentant RouteReuseStrategy

<code class="typescript">export class CustomRouteReuseStrategy implements RouteReuseStrategy {</code>
Copier après la connexion

Remplacer 'shouldDetach' pour le stockage sélectif d'itinéraire

<code class="typescript">shouldDetach(route: ActivatedRouteSnapshot): boolean {
  return route.routeConfig?.path === '/documents/id';
}</code>
Copier après la connexion

Fournir la stratégie personnalisée dans le NgModule

<code class="typescript">providers: [
  { provide: RouteReuseStrategy, useClass: CustomRouteReuseStrategy },
]</code>
Copier après la connexion

Explication

  • shouldDetach : Contrôle le stockage de l'itinéraire. Renvoie true pour les itinéraires que vous souhaitez stocker. Dans ce scénario, stockez uniquement la route "/documents".
  • shouldAttach: Détermine quand réutiliser une route stockée. Si cette méthode renvoie vrai, Angular réutilisera le composant au lieu de le recréer. Nous ne remplaçons pas cette méthode dans notre exemple.

Remarques supplémentaires :

  • Cette implémentation stocke une instance de chaque itinéraire qualifié dans l'ensemble du parcours de l'utilisateur. session.
  • Vous pouvez personnaliser davantage en modifiant ShouldDetach pour contrôler les itinéraires à stocker en fonction de vos besoins.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!