Imprimer
Catégorie : R3.01 - dev. Web côté client (vuejs)
Affichages : 21

 

Préambule
 

1°/ Que sont les slots ?

 

2°/ Principes de création

Dans le composant fils :

Dans le composant parent :

 

Démonstration :

 

Question : vu qu'il existe une variable title aussi bien dans le père que le fils, laquelle va être utilisée pour remplir le slot ?

 

 Remarques :

 

3.2°/ Elargir la "portée" des slots : les scoped-slots

 

3.2.1°/ Principes et utilité

 

 

3.2.2°/ Création

 

 3.2.3°/ Définition dans le composant parent

Exemple :

let obj = {txt:"hello", val: 4}
let {txt, val} = obj
console.log(txt+" "+val)

 

 

3.2.4°/ Exemple synthétique

<template>
  ...
  <slot name="myslot" :msg="msg" :val="x" :isChecked="showSel">
  ...
</template>
<template>
  ...
  <CompoFils>
    <template #myslot="{msg, val, isChecked}">
      <p>msg = {{msg}}</p>
      <p>val = {{val}}</p>
      <input type="checkbox" :checked="isChecked">
    </template>
  </CompoFils>
  ...
</template>

 

Démonstration :

 

3.3°/ vue-router et slots

Exemple :

<template>
  ...
  <router-view v-slot="{Component}">
    <component :is="Component" props1="..." props2="...">
      <template #myslot> ... </template>
    </component>
  </router-view>
  ...
</template>

 

Démonstration :

 

4°/ combinaison props et slots

Démonstration :