


Une brève analyse du parcours d'apprentissage angulaire par Route Guards
Cet article vous amènera à comprendre les gardes de route dans Angular et à présenter les méthodes de création de gardes de route, de contrôle si la route peut être activée et de contrôler si la route peut être quittée. J'espère que cela sera utile à tout le monde !
Besoin de limiter l'accessibilité de certaines URL, par exemple pour l'interface de gestion du système, uniquement à celles Seuls les utilisateurs ayant les droits d'administrateur peuvent l'ouvrir. [Recommandation de didacticiel connexe : "Environnement :
CLI angulaire : 11.0.6
Angulaire : 11.0.7
Nœud :
npm : 6.14.6- IDE : Visual Studio Code
- Dans notre processus actuel de développement commercial, nous rencontrons souvent les besoins suivants :
- Tutoriel angulaire
- "]Lorsque l'utilisateur est dans l'interface d'édition et quitte sans enregistrer, il doit être demandé à l'utilisateur s'il doit abandonner la modification.
-
Visant le scénario ci-dessus, Angualr utilise des
Route Guards
(Route Guards) pour le mettre en œuvre.
路由守卫
(Route Guards)来实现。
路由守卫(Route Guards)
1. 创建路由守卫
Angular CLI提供了命令行工具,可以快速创建路由守卫框架文件:ng generate guard auth
。 执行后,Angular CLI会问我们需要实现哪些接口,我们直接勾选即可:
? Which interfaces would you like to implement? (Press <space> to select, <a> to toggle all, <i> to invert selection) >(*) CanActivate ( ) CanActivateChild ( ) CanDeactivate ( ) CanLoad
说明:
CanActivate: 控制路由是否可以激活
CanActivateChild: 控制子路由是否可以激活
CanDeactivate: 控制路由是否可以退出
CanLoad: 控制模块(module)是否可以被加载
比较经常使用的是1、3,分别控制进入和退出。 按照上面配置,AngularCLI自动生成如下代码,return true;
替换为我们实际的代码即可。return false;
表示不允许跳转,或者取消离开当前页面。
// auth.guard.ts import { Injectable } from '@angular/core'; import { CanActivate, CanDeactivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router'; import { Observable } from 'rxjs'; @Injectable({ providedIn: 'root' }) export class AuthGuard implements CanActivate, CanDeactivate<unknown> { canActivate( route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree { return true; } }
在canActivate方法中,我们还可以使用跳转。如页面判断是否已经登录,如果没有登录,跳转到Login页面:
this.router.navigate(['/login']); return false;
2. 控制路由是否可以激活
控制路由是否可以激活,需要定义在定义路由的地方,增加canActivate属性。如果需要,还可以增加data属性, 比如告诉我们的AuthGuard进入当前路由需要验证哪些权限。data属性是可选的。
const routes: Routes = [ { path: "page1", component: Page1Component, data: { permissions: ['YourPage1Permission'] }, // 传入参数给AuthGuard,可选 canActivate: [AuthGuard] }, { path: "page2", component: Page2omponent, data: { permissions: ['YourPage2Permission'] }, // 传入参数给AuthGuard,可选 canActivate: [AuthGuard] } ]
3. 控制路由是否退出(离开)
和控制路由是否可以激活类似,在路由定义出增加 canDeactivate
1. Créer des gardes de route
Angular CLI fournit des outils de ligne de commande qui peuvent créer rapidement un garde de routage fichier framework : ng génère une authentification de garde
. Après l'exécution, Angular CLI nous demandera quelles interfaces nous devons implémenter, nous pouvons simplement la vérifier directement :
rrreee- Description :
- CanActivate : Contrôler si la route peut être activée
- CanActivateChild : Contrôler si le sous -route peut être activée
CanDeactivate : contrôle si la route peut être quittée
🎜🎜🎜CanLoad : contrôle si le module peut être chargé🎜🎜🎜🎜Les plus couramment utilisés sont 1 et 3, qui contrôlent l'entrée et la sortie respectivement. Selon la configuration ci-dessus, AngularCLI génère automatiquement le code suivant. Remplacez simplementreturn true;
par notre code réel. return false;
signifie que sauter n'est pas autorisé ou que quitter la page actuelle est annulé. 🎜rrreee🎜Dans la méthode canActivate, nous pouvons également utiliser des sauts. Par exemple, la page détermine si vous êtes connecté. Si vous n'êtes pas connecté, accédez à la page de connexion : 🎜rrreee🎜2. être activé🎜🎜Pour contrôler si l'itinéraire peut être activé, il doit être défini à l'endroit où l'itinéraire est défini et l'attribut canActivate est ajouté. Si nécessaire, vous pouvez également ajouter des attributs de données, par exemple en indiquant à notre AuthGuard quelles autorisations doivent être vérifiées pour accéder à l'itinéraire actuel. L'attribut data est facultatif. 🎜rrreee🎜3. Contrôler si l'itinéraire quitte (quitter)🎜🎜 est similaire à contrôler si l'itinéraire peut être activé. Il est défini dans la route Add canDeactivate
et formule la Garde correspondante. Plus d'exemples ici🎜🎜Résumé🎜🎜🎜🎜Utilisez Route Guards pour contrôler l'entrée et la sortie des URL ;🎜🎜🎜🎜Angular CLI peut nous aider à créer des fichiers de garde ;🎜🎜🎜🎜Pour plus de connaissances liées à la programmation, veuillez visiter : 🎜Introduction à la programmation🎜 ! ! 🎜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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Cet article poursuit l'apprentissage d'Angular, vous amène à comprendre les métadonnées et les décorateurs dans Angular, et comprend brièvement leur utilisation. J'espère qu'il sera utile à tout le monde !

Cet article vous donnera une compréhension approfondie du gestionnaire d'état NgRx d'Angular et vous présentera comment utiliser NgRx. J'espère qu'il vous sera utile !

Angular.js est une plateforme JavaScript librement accessible pour créer des applications dynamiques. Il vous permet d'exprimer rapidement et clairement divers aspects de votre application en étendant la syntaxe HTML en tant que langage de modèle. Angular.js fournit une gamme d'outils pour vous aider à écrire, mettre à jour et tester votre code. De plus, il offre de nombreuses fonctionnalités telles que le routage et la gestion des formulaires. Ce guide expliquera comment installer Angular sur Ubuntu24. Tout d’abord, vous devez installer Node.js. Node.js est un environnement d'exécution JavaScript basé sur le moteur ChromeV8 qui vous permet d'exécuter du code JavaScript côté serveur. Être à Ub

Connaissez-vous Angular Universel ? Cela peut aider le site Web à fournir un meilleur support SEO !

Avec le développement rapide d'Internet, la technologie de développement front-end s'améliore et se répète constamment. PHP et Angular sont deux technologies largement utilisées dans le développement front-end. PHP est un langage de script côté serveur capable de gérer des tâches telles que le traitement des formulaires, la génération de pages dynamiques et la gestion des autorisations d'accès. Angular est un framework JavaScript qui peut être utilisé pour développer des applications monopage et créer des applications Web composées de composants. Cet article explique comment utiliser PHP et Angular pour le développement front-end et comment les combiner.

Cet article partagera avec vous une expérience pratique d'Angular et apprendra comment développer rapidement un système backend en utilisant Angualr combiné avec ng-zorro. J'espère que cela sera utile à tout le monde !

Comment utiliser monaco-editor en angulaire ? L'article suivant enregistre l'utilisation de monaco-editor dans angulaire qui a été utilisé dans une entreprise récente. J'espère qu'il sera utile à tout le monde !

Cet article vous présentera les composants indépendants dans Angular, comment créer un composant indépendant dans Angular et comment importer des modules existants dans le composant indépendant. J'espère qu'il vous sera utile !
