Maison  >  Article  >  interface Web  >  Explication détaillée de la fonction slot dans Vue3 : utiliser les slots pour implémenter des composants plus flexibles

Explication détaillée de la fonction slot dans Vue3 : utiliser les slots pour implémenter des composants plus flexibles

王林
王林original
2023-06-18 09:29:333856parcourir

Vue est un framework frontal JavaScript populaire. Sa troisième version (Vue3) introduit de nombreuses nouvelles fonctionnalités, dont la fonction slot. Cet article expliquera en détail ce qu'est la fonction slot et comment l'utiliser pour implémenter des composants plus flexibles.

Qu'est-ce que la fonction slot

Dans Vue, un composant est une partie abstraite d'un élément de page. Un composant peut être inclus dans d'autres composants. Normalement, le contenu d'un composant est fixe, mais parfois on souhaite que le contenu du composant soit variable. C'est le rôle de la fonction slot.

En termes simples, la fonction slot est une fonction interne spéciale du composant Vue, utilisée dans le modèle de composant, qui permet de remplacer le contenu d'un composant par des éléments enfants fournis par le composant parent. Dans Vue2, la fonction slot peut être utilisée à l'intérieur ou à l'extérieur du composant. Mais dans Vue3, la fonction slot doit être utilisée à l'intérieur du composant, et la syntaxe de slot est également quelque peu différente de celle de Vue2.

Comment utiliser la fonction slot

Syntaxiquement parlant, la fonction slot de Vue3 a deux formes : les slots ordinaires et les slots nommés.

Emplacements normaux

Les emplacements normaux remplaceront l'intégralité du contenu du composant parent par le contenu du composant enfant. Voici un exemple simple :

Code du composant parent :

<template>
  <div>
    <h1>这是父组件的标题</h1>
    <ChildComponent>
      <p>这是子组件的内容</p>
    </ChildComponent>
  </div>
</template>

Code du composant enfant :

<template>
  <div>
    <h2>这是子组件的标题</h2>
    <slot></slot>
  </div>
</template>

Dans cet exemple, le composant parent contient un composant enfant (ChildComponent) et le composant enfant contient un emplacement commun (slot) . Lors du rendu du composant parent, le composant enfant sera remplacé par le contenu fourni par le composant parent, et le résultat est le suivant :

<div>
  <h1>这是父组件的标题</h1>
  <div>
    <h2>这是子组件的标题</h2>
    <p>这是子组件的内容</p>
  </div>
</div>

Comme vous pouvez le voir sur le résultat, le composant enfant remplace complètement la position du slot, et le contenu du composant enfant sera dans l'original présenté au poste.

Emplacements nommés

Les emplacements nommés sont un type d'emplacement plus flexible qui nous permet de définir plusieurs emplacements dans un composant. Voici un exemple avec plusieurs emplacements :

Code du composant parent :

<template>
  <div>
    <div class="header">
      <slot name="header"></slot>
    </div>
    <div class="body">
      <slot></slot>
    </div>
    <div class="footer">
      <slot name="footer"></slot>
    </div>
  </div>
</template>

Dans cet exemple, nous définissons trois emplacements : en-tête, par défaut et pied de page. L'emplacement par défaut n'a pas de nom, donc l'attribut name de l'emplacement n'est pas utilisé.

Le composant parent peut contrôler le contenu du composant enfant via le nom de l'emplacement lors de l'utilisation du composant enfant. Voici un exemple :

<template>
  <div>
    <MyComponent>
      <template #header>
        <h1>这是头部</h1>
      </template>
      <p>这是内容</p>
      <template #footer>
        <h2>这是尾部</h2>
      </template>
    </MyComponent>
  </div>
</template>

Dans cet exemple, le composant parent utilise MyComponent et contrôle son contenu via des emplacements nommés. Les résultats sont les suivants :

<div>
  <div class="header">
    <h1>这是头部</h1>
  </div>
  <div class="body">
    <p>这是内容</p>
  </div>
  <div class="footer">
    <h2>这是尾部</h2>
  </div>
</div>

Résumé

Grâce à l'introduction de cet article, nous avons appris ce qu'est la fonction slot et comment utiliser les slots pour implémenter des composants plus flexibles. La fonction slot de Vue3 est un outil très puissant qui nous permet d'ajouter n'importe quelle quantité de contenu dynamique à un composant et de laisser le composant parent contrôler l'emplacement et l'affichage de ce contenu.

Si vous apprenez Vue3, alors la fonction slot est une technologie qui doit être maîtrisée. Elle peut vous aider à implémenter des composants plus flexibles et réutilisables. J'espère que cet article vous aidera à comprendre la fonction des machines à sous.

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:
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