


Explication détaillée de 6 niveaux différents de concepts de réutilisabilité des composants
Cet article vous donnera une introduction détaillée aux concepts de 6 niveaux différents de réutilisabilité des composants. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
Nous voulons tous écrire moins de code tout en en faisant plus. Pour y parvenir, nous construisons des composants afin qu’ils puissent être réutilisés plusieurs fois.
Certains composants ne nécessitent qu'une réutilisabilité de base, tandis que d'autres nécessitent des techniques de refactorisation plus complexes avant de pouvoir les réutiliser complètement.
Il existe 6
différents niveaux de concepts de réutilisabilité. Expérimentons-les d'abord, et nous en parlerons un par un dans les mises à jour ultérieures.
1. Modèles
Avec les modèles, nous encapsulons du code très répétitif dans son propre composant au lieu de le copier et de le coller tout autour du code.
Lorsque nous réutilisons le composant (au lieu d'utiliser le code directement), cela nous apporte deux avantages :
Il sera beaucoup plus facile d'apporter des modifications à l'avenir, puisque nous n'avons besoin de changer qu'à un seul endroit
nous n'avons pas besoin de nous rappeler où chaque code en double a été copié
C'est le plus La forme de réutilisation la plus basique et la plus communément évoquée.
2. Configurable
Pour certains composants, nous devons modifier leur fonctionnement en fonction des besoins, comme :
Button
Composants avoir une version principale par défaut et une version avec une icône. Mais au lieu de créer un composant complètement nouveau pour chaque version, nous spécifions props
pour basculer entre différents types.
L'ajout de ces props
n'ajoute généralement pas beaucoup de complexité aux composants, et en même temps, cela nous donne plus de flexibilité dans l'utilisation des composants.
Remarque : Ceci est différent de l'utilisation de prop
pour enregistrer un état ou des données, comme loading
prop ou disabled
prop.
3. Adaptabilité
Le plus gros problème du configurable est le manque de prévoyance. Nous devons anticiper les besoins futurs et les intégrer dans les composants en plaçant les prop
correspondants.
Cependant, si vos composants sont adaptables suffisamment, vous n'aurez pas besoin de les modifier pour répondre aux besoins futurs.
Afin de rendre nos composants suffisamment adaptables, nous pouvons utiliser 插槽
pour y parvenir.
Par exemple, nous pouvons utiliser le emplacement par défaut au lieu du Button
transmis au composant text
:
<!-- Button.vue --> <template> <button class="btn btn--default" @click="$emit('click')" > <slot /> </button> </template>
Maintenant, nous ne sommes plus limités au transmis Le type est string
ou number
.
Si on veut ajouter Button
sans modifier le composant loading
, on peut faire ceci :
<template> <Button> <img v-if="loading" src="spinner.svg" /> Click Me </Button> </template>
4. Réversibilité
Dans. En plus de transmettre un bloc complet de balisage à notre composant enfant via 插槽
, nous pouvons également transmettre un ensemble d'instructions sur la façon de rendre.
C’est comme si nous cuisinions à partir d’une recette au lieu de commander des plats à emporter. Lorsque nous suivons une recette, cela demande plus de travail, mais nous pouvons la réaliser à notre rythme. Nous pouvons faire des ajustements à tout moment, ou nous pouvons abandonner complètement le processus sans recette.
Nous utilisons des emplacements de portée pour ajouter plus de flexibilité à nos composants.
5. Extensions
Grâce à 适应性
et 反转性
, nous disposons de certaines bases techniques nécessaires. Ces compétences peuvent maximiser la réutilisabilité des composants.
L'étape suivante consiste à appliquer ces techniques à l'ensemble du composant afin que nous puissions étendre plus facilement son comportement.
Nous utilisons 命名插槽
pour ajouter un ou plusieurs points d'extension à un composant. Juste 适应性
et 反转性
à eux seuls nous donnent une option pour étendre le comportement, tandis que le fait d'avoir plusieurs points d'extension nous donne de nombreuses options différentes.
Ici nous avons un composant Modal
qui contient header
, default
et footer
:
<template> <div class="modal"> <slot name="header"> <h2>{{ title }}</h2> </slot> <!-- Default slot for main content --> <slot /> <slot name="footer"> <Button @click="closeModal"> Close </Button> </slot> </div> </template>
Il s'agit d'un exemple d'extension assez simple où nous avons déjà plusieurs options d'extension ce composant :
Remplacez simplement
default slot
pour ajouter notre contenuest accessible par nom d'emplacement Écrasement du contenu de
header
peut écraser le contenu de
footer
via le nom de l'emplacement, et le contenu est toujours principalement constitué de boutons de styles différentset
header
sont davantage destinés à la personnalisationfooter
6. Nesting
La réutilisabilité la plus avancée en plus del'extension est l'imbrication. Nous pouvons utiliser plusieurs composants de base comme base. au sein des couches peut sembler fou au début, mais c'est très utile, en particulier dans les applications de taille moyenne à grande.
On commence par un composant de base qui a des fonctionnalités assez générales. Le composant suivant est plus spécifique, étendant le composant de base de plusieurs manières. Continuez ensuite à développer vers le haut à partir du composant de base précédent jusqu'à ce que nous ayons le composant final qui termine le travail proprement dit.
C'est similaire à la façon dont nous passons du 动物(Animal )
très général au 哺乳动物(Mammal )
plus spécifique, puis au 狗(Dog )
, et finissons par 贵宾犬(Poodle)
. Si tout ce dont nous avons besoin, ce sont des 贵宾犬(Poodle)
composants, il semble que nous perdons du temps en construisant de tels composants de base. Mais est différent dans les grandes applications. Nous devons apporter plusieurs changements sur le même concept de base pour répondre à différents besoins personnalisés. À l'heure actuelle, ce genre de groupe de baseL'idée de. les pièces imbriquées sont très importantes.
Nous pouvons étendre 犬类(Dog)组件
pour obtenir des composants 柯基犬(Corgi )
et 比格犬(Beagle)
. Ou étendez le composant 哺乳动物(Mammal )
pour obtenir le composant 猫(Cat )
, afin de pouvoir ajouter à la fois les composants 老虎(Tiger)
et 狮子(Lion)
.
Résumé
Ce qui précède est un aperçu des 6 niveaux de réutilisabilité. Bien sûr, il est très probable que certains contenus manquent, mais en gros, cela peut nous fournir. avec un composant d'encapsulation L'idée générale est également un très bon moyen.
Adresse originale : https://news.knowledia.com/US/en/the-6-levels-of-reusability-7ad7fc58842eb67fc320c8e11305e1010a11f251?source=rss
Auteur : Michael Thiessen
Adresse de traduction : https://segmentfault.com/a/1190000039699016
Pour plus de connaissances liées à la programmation, veuillez visiter : Enseignement de 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

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)

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.

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.

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.

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.

Les méthodes pour implémenter le saut d'une balise dans Vue incluent: l'utilisation de la balise A dans le modèle HTML pour spécifier l'attribut HREF. Utilisez le composant routeur-link du routage Vue. Utilisez cette méthode. $ Router.push () dans JavaScript. Les paramètres peuvent être passés à travers le paramètre de requête et les itinéraires sont configurés dans les options de routeur pour les sauts dynamiques.
