Table des matières
1. La différence entre v-show et v-if
2. Les scénarios d'utilisation de v-show et v-if
3. Analyse des principes de v-show et v-if
Maison interface Web Voir.js Comparez les instructions Vue v-show et v-if et parlez des scénarios d'utilisation

Comparez les instructions Vue v-show et v-if et parlez des scénarios d'utilisation

Mar 28, 2022 am 11:21 AM
v-if v-show vue 指令

Cet article compare les commandes Vuev-show et v-if, présente la différence entre v-show et v-if et parle des scénarios d'utilisation de v-show et v-if. J'espère qu'il sera utile. à tout le monde !

Comparez les instructions Vue v-show et v-if et parlez des scénarios d'utilisation

1. La différence entre v-show et v-if

  • En vue, v-show et v-if peuvent contrôler si les éléments sont affichés sur la page.

  • L'affichage et le masquage de v-show consistent à faire fonctionner l'attribut d'affichage de l'élément CSS, donc lorsque vous utilisez v-show pour masquer l'élément, le nœud dom de l'élément est toujours dans la page et se cache ; de v-if consiste à masquer l'élément dom Ajout ou suppression complète. [Recommandations associées : Tutoriel vidéo vuejs]

  • La commutation de v-if a un processus de compilation/désinstallation partielle. Pendant le processus de commutation, les écouteurs d'événements internes et les sous-composants sont correctement détruits et reconstruits ; est juste une simple opération d'attribut d'affichage CSS.

  • v-if est un véritable rendu conditionnel, qui garantit que les écouteurs d'événements et les sous-composants du bloc conditionnel sont détruits et recréés de manière appropriée pendant le changement. Ce n'est que lorsque la condition de rendu est fausse qu'aucune opération n'est effectuée et elle n'est rendue que lorsqu'elle est vraie.

  • v-show ne déclenchera pas le cycle de vie du composant lorsqu'il passe de faux à vrai. Lorsque v-if passe de faux à vrai, il déclenchera les hooks de cycle de vie beforeCreate, create, beforeMount et montés du composant, qui passera de true à true Lorsqu'il est faux, les méthodes beforeDestory et destroy du composant sont déclenchées.

  • En termes de consommation de performances, v-if a une consommation de commutation plus élevée ; v-show a une consommation de rendu initiale plus élevée.

2. Les scénarios d'utilisation de v-show et v-if

  • v-if et v-show peuvent contrôler l'affichage et le masquage des éléments dom sur la page

  • v-if par rapport à v- showoverPour les plus grands (opérer directement l'ajout et la suppression de nœuds dom), si vous devez changer très fréquemment, il est préférable d'utiliser v-show. Si les conditions changent rarement pendant l'exécution, il est préférable d'utiliser v-if.

3. Analyse des principes de v-show et v-if

  • v-show Peu importe qu'il soit vrai ou faux, l'élément sera toujours rendu si l'élément est lié à l'instruction v-show dans. le code source est entouré d'une couche de transition, il exécutera la transition S'il n'y a pas de transition imbriquée dans la couche externe de el, définissez directement el.style.display
export const vShow: ObjectDirective<VShowElement> = {
  beforeMount(el, { value }, { transition }) {
    el._vod = el.style.display === &#39;none&#39; ? &#39;&#39; : el.style.display
    if (transition && value) {
      transition.beforeEnter(el)
    } else {
      setDisplay(el, value)
    }
  },
  mounted(el, { value }, { transition }) {
    if (transition && value) {
      transition.enter(el)
    }
  },
  updated(el, { value, oldValue }, { transition }) {
    // ...
  },
  beforeUnmount(el, { value }) {
    setDisplay(el, value)
  }
}
Copier après la connexion
  • v-if pour jugement lorsque. l'arbre de syntaxe abstraite est converti en chaîne de code. Si v -if est faux, le vnode généré par la fonction de rendu ne contiendra pas le nœud à restituer, mais un nœud vnode annoté comme espace réservé
export const transformIf = createStructuralDirectiveTransform(
  /^(if|else|else-if)$/,
  (node, dir, context) => {
    return processIf(node, dir, context, (ifNode, branch, isRoot) => {
      // ...
      return () => {
        if (isRoot) {
          ifNode.codegenNode = createCodegenNodeForBranch(
            branch,
            key,
            context
          ) as IfConditionalExpression
        } else {
          // attach this branch&#39;s codegen node to the v-if root.
          const parentCondition = getParentCondition(ifNode.codegenNode!)
          parentCondition.alternate = createCodegenNodeForBranch(
            branch,
            key + ifNode.branches.length - 1,
            context
          )
        }
      }
    })
  }
)
Copier après la connexion

(Partage vidéo d'apprentissage : tutoriel vuejs, front-end web)

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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 !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment utiliser Bootstrap en Vue Comment utiliser Bootstrap en Vue Apr 07, 2025 pm 11:33 PM

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.

Comment ajouter des fonctions aux boutons pour Vue Comment ajouter des fonctions aux boutons pour Vue Apr 08, 2025 am 08:51 AM

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.

Comment utiliser Watch in Vue Comment utiliser Watch in Vue Apr 07, 2025 pm 11:36 PM

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.

Que signifie le développement de plusieurs pages Vue? Que signifie le développement de plusieurs pages Vue? Apr 07, 2025 pm 11:57 PM

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.

Comment référencer le fichier JS avec Vue.js Comment référencer le fichier JS avec Vue.js Apr 07, 2025 pm 11:27 PM

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.

Comment revenir à la page précédente par Vue Comment revenir à la page précédente par Vue Apr 07, 2025 pm 11:30 PM

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.

Comment utiliser Vue Traversal Comment utiliser Vue Traversal Apr 07, 2025 pm 11:48 PM

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.

Comment sauter à la div de Vue Comment sauter à la div de Vue Apr 08, 2025 am 09:18 AM

Il existe deux façons de sauter des éléments div dans Vue: Utilisez le routeur Vue et ajoutez le composant routeur-link. Ajoutez l'écouteur de l'événement @Click et appelez ceci. $ Router.push () pour sauter.

See all articles