vue iview réalise un routage dynamique
Cette fois, je vais vous présenter le routage dynamique avec vue iview Quelles sont les précautions à prendre pour le routage dynamique avec vue iview ? Voici un cas pratique, jetons un oeil.
Atteindre l'objectif
Une fois que le client a obtenu les données de routage et d'autorisation du serveur, il actualise la liste de routage et de menu du projet et contrôle les autorisations.
Base du projet
Cadre de base : projet de modèle officiel de la bibliothèque de composants iview Projet de branche de modèles d'iview-admin, ce projet est le framework de base d'iview-admin code. Adresse du projet : iview-admin
Logique de mise en œuvre
Chargement du contrôle de routage dynamique
Dit généralement qu'il existe deux types de contrôle de routage dynamique : l'un consiste à stocker toutes les données de routage dans des fichiers locaux, puis à obtenir les informations d'autorisation de l'utilisateur du serveur lorsque l'itinéraire saute, ajoutez un crochet de jugement d'autorisation si la page à laquelle l'utilisateur accède. n'est pas Dans la liste des autorisations, sauter est interdit. L'autre consiste à stocker localement uniquement les itinéraires de base, tels que les pages de gestion des erreurs, aucune page de contrôle des autorisations, etc., tandis que les itinéraires d'autorisation sont obtenus du serveur. Le serveur émet les données de routage correspondantes en fonction des autorisations de l'utilisateur, et le client les utilise. données pour le routage Généré et ajouté dynamiquement, cet article utilise la deuxième méthode.
Le projet iview-admin divise le routage en trois types :
Le routage des pages qui ne s'affiche pas comme une sous-page du composant principal, comme la connexion, 404, 403 et autres pages d'erreur Routage ;
est affichée comme une sous-page du composant principal mais n'est pas affichée dans le menu de gauche autreRouter, comme le routage de la page d'accueil
est utilisé comme composant principal. La sous-page est affichée et l'application de routageRouter est affichée dans le menu de gauche
Après avoir obtenu les données de routage, nous effectuer principalement deux parties de l'opération. La première partie consiste à parcourir les données et à les charger de manière asynchrone à l'aide de la méthode des composants, à charger les composants correspondant à chaque nœud de routage, puis à utiliser router.addRoutes(routes)
pour terminer l'ajout dynamique de la liste de routage ; La deuxième partie est due au fait que les balises de page et le fil d'Ariane dans le cadre iview-admin
doivent traverser l'appRouter pour obtenir des informations de routage, nous devons donc également stocker les données de routage dans vuex pour un accès global.
Il est important de noter que si la page 404 est une route statique, alors lorsque vous entrez dans la page pour la première fois, la route dynamique n'a pas encore été chargée. Si l'adresse de routage est introuvable, elle est introuvable. passera à la page d'erreur 404 par défaut. Expérience C'est très mauvais, donc la route 404 n'est pas écrite en premier dans les règles de routage et est chargée avec le routage dynamique.
L'implémentation principale du code est la suivante :
Requête de données et génération de nœuds de routage
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
|
Composants de chargement dynamique
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
Enfin, appelez
1 2 3 4 5 |
|
Contrôle des autorisations
Semblable à la méthode de mise en œuvre du routage dynamique, le contrôle des autorisations d'opération est généralement divisé en deux types. la page est affichée sans contrôle des autorisations. Toutes les opérations, telles que les boutons, sont affichées. Ensuite, lorsque l'opération est lancée, les autorisations sont jugées si l'utilisateur dispose des autorisations pour l'opération, sinon, il est rappelé à l'utilisateur. il n'a aucune autorisation. La seconde est Lorsque la page est chargée, les autorisations sont jugées et les opérations sans autorisations ne sont pas affichées. Je préfère la deuxième méthode, qui n'induira pas l'utilisateur en erreur. Je pense personnellement que ce que l'utilisateur voit doit être exploitable, sinon il sera très inconfortable de cliquer sur le bouton et d'être ensuite informé qu'il n'y a pas d'autorisation.
La source de l'idée de ce projet se trouve dans le billet de blog de référence. L'idée spécifique du blogueur original est la suivante : dans le champ méta de la structure de routage, ajoutez une liste d'autorisations d'opération des utilisateurs, puis enregistrez-vous. la commande globale. Lorsque le nœud est rendu pour la première fois, déterminez si la page dispose d'autorisations. Si elle existe et que les paramètres transmis ne figurent pas dans la liste des autorisations, supprimez le nœud directement.
Le code principal est implémenté comme suit :
Ajoutez le champ d'autorisation dans les données de routage et stockez la liste d'autorisations
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
Lors de la traversée pour générer des nœuds de routage, stockez les données du champ d'autorisation Définissez le composant de commande global dans l'attribut méta du nœud de routage
1 2 3 4 5 6 7 8 9 10 |
|
Lisez la valeur de l'attribut d'autorisation de routage pour obtenir la liste des autorisations. Si l'autorisation ne figure pas dans la liste des autorisations, supprimez le nœud.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
Exemples d'utilisation des composants d'autorisation :
1 2 3 4 5 6 7 8 |
|
Composant d'enregistrement global
1 2 3 |
|
L'avantage de cette méthode de contrôle des autorisations est que la configuration de gestion et la logique de traitement des pages sont relativement simples, sans beaucoup de jugements de code et de traitement de nœuds répétés. Après avoir fait référence et comparé plusieurs méthodes d'implémentation sur Internet, je recommande personnellement cette méthode.
Balises de page et navigation dans le fil d'Ariane
À mon avis, les balises de page et le fil d'Ariane sont la cerise sur le gâteau du système, les contrôles liés aux pages, améliorent la commodité de la gestion des pages, dans iview Ces deux composants ont été implémentés dans le projet d'administration officiel. Par conséquent, dans ce projet, nous l'avons simplement transplanté et implémenté les fonctions des composants. Nous n'en avons pas une compréhension approfondie. Ceux qui sont intéressés peuvent l'étudier attentivement.
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !
Lecture recommandée :
sortComment trier les données des fils
L'attribut DefinProperty de Vue utilise
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

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Sujets chauds

L'utilisation de bootstrap dans vue.js est divisée en cinq étapes: installer bootstrap. Importer un bootstrap dans main.js. Utilisez le composant bootstrap directement dans le modèle. Facultatif: style personnalisé. Facultatif: utilisez des plug-ins.

Vous pouvez ajouter une fonction au bouton VUE en liant le bouton dans le modèle HTML à une méthode. Définissez la logique de la fonction de méthode et d'écriture dans l'instance Vue.

L'option Watch dans Vue.js permet aux développeurs d'écouter des modifications de données spécifiques. Lorsque les données changent, regardez déclenche une fonction de rappel pour effectuer des vues de mise à jour ou d'autres tâches. Ses options de configuration incluent immédiatement, qui spécifie s'il faut exécuter un rappel immédiatement, et profond, ce qui spécifie s'il faut écouter récursivement les modifications des objets ou des tableaux.

Le développement multi-pages VUE est un moyen de créer des applications à l'aide du cadre Vue.js, où l'application est divisée en pages distinctes: Maintenance du code: La division de l'application en plusieurs pages peut rendre le code plus facile à gérer et à maintenir. Modularité: chaque page peut être utilisée comme module séparé pour une réutilisation et un remplacement faciles. Routage simple: la navigation entre les pages peut être gérée par une configuration de routage simple. Optimisation du référencement: chaque page a sa propre URL, ce qui aide le référencement.

La connexion MySQL peut être due aux raisons suivantes: le service MySQL n'est pas démarré, le pare-feu intercepte la connexion, le numéro de port est incorrect, le nom d'utilisateur ou le mot de passe est incorrect, l'adresse d'écoute dans my.cnf est mal configurée, etc. 2. Ajustez les paramètres du pare-feu pour permettre à MySQL d'écouter le port 3306; 3. Confirmez que le numéro de port est cohérent avec le numéro de port réel; 4. Vérifiez si le nom d'utilisateur et le mot de passe sont corrects; 5. Assurez-vous que les paramètres d'adresse de liaison dans My.cnf sont corrects.

Il existe trois façons de se référer aux fichiers JS dans Vue.js: spécifiez directement le chemin à l'aide du & lt; script & gt; étiqueter;; importation dynamique à l'aide du crochet de cycle de vie monté (); et l'importation via la bibliothèque de gestion de l'État Vuex.

Vue.js dispose de quatre méthodes pour revenir à la page précédente: $ router.go (-1) $ router.back () utilise & lt; router-link to = & quot; / & quot; Composant Window.History.back (), et la sélection de la méthode dépend de la scène.

Il existe trois méthodes courantes pour que Vue.js traverse les tableaux et les objets: la directive V-FOR est utilisée pour traverser chaque élément et les modèles de rendu; La directive V-Bind peut être utilisée avec V-FOR pour définir dynamiquement les valeurs d'attribut pour chaque élément; et la méthode .map peut convertir les éléments du tableau en nouveaux tableaux.
