recherche

Maison  >  Questions et réponses  >  le corps du texte

Puis-je utiliser deux composants identiques dans la même application ?

<p>Dans certains cas, vous souhaitez appeler une fenêtre contextuelle ou non-popup</p> <pre class="brush:php;toolbar:false;"><template> <!-- Fenêtre contextuelle ---> <v-dialog v-model="popupFlag"> <A :prop-option="option"> </v-dialogue> <!-- Contenu principal ---> <div v-if="!popupFlag"> <B :prop-option="option"> </div> </modèle> importer A depuis "C.vue" importer B depuis "C.vue" exporter par défaut { accessoires : { popupFlag : { tapez: booléen, requis : vrai, par défaut : faux, } }, données() { retour: { option : 'blabla' } } }</pré> <p>J'ai configuré le code comme suit, est-ce le bon code ? Puis-je utiliser les mêmes composants ? (C.vue)&Lt ;/p> ;
P粉938936304P粉938936304509 Il y a quelques jours573

répondre à tous(1)je répondrai

  • P粉838563523

    P粉8385635232023-08-15 00:59:21

    Oui, bien sûr, il est possible d'utiliser plusieurs fois le même composant dans un composant parent. Chaque fois qu'il est inséré dans un modèle, une nouvelle instance du composant est créée. Donc, dans votre cas, votre code peut être simplifié comme suit :

    <template>
      <!-- 主要部分 -->
      <div v-if="!popupFlag">
        <C :prop-option="option" />
      </div>
    
      <!-- 弹出部分 -->
      <div v-else>
        <C :prop-option="option" />
      </div>
    </template>
    
    ...
    import C from "C.vue"
    ...

    Ou, le moyen le plus simple est :

    <C :prop-option="popupFlag ? optionForPopup : optionForMain" />

    De cette façon, vous pouvez réutiliser efficacement le même composant avec différentes options selon popupFlag.

    répondre
    0
  • Annulerrépondre