J'utilise le modèle prédéfini Vuetify 'Google Contacts'.
Lien: https://vuetifyjs.com/en/examples/layouts/googleContacts
Je suis nouveau dans Vuetify et rencontre des difficultés pour comprendre certains codes. L'un est 'activateur de fente' .
Exemple de code:
<v-list-tile slot="activator">
<v-list-tile-content>
<v-list-tile-title>
{{ item.text }}
</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
Quelqu'un peut-il me dire comment fonctionne le "activateur de machine à sous"?
Lorsque vous déclarez un composant Vue, vous pouvez créer des créneaux nommés , qui est un Vue native caractéristique (pas de Vuetify):
Par exemple, supposons que nous ayons un composant
app-layout
Avec le modèle suivant:<div class="container"> <header> <slot name="header"></slot> </header> <main> <slot></slot> </main> <footer> <slot name="footer"></slot> </footer> </div>
Balisage parent:
<app-layout> <h1 slot="header">Here might be a page title</h1> <p>A paragraph for the main content.</p> <p>And another one.</p> <p slot="footer">Here's some contact info</p> </app-layout>
Le résultat rendu sera:
<div class="container"> <header> <h1>Here might be a page title</h1> </header> <main> <p>A paragraph for the main content.</p> <p>And another one.</p> </main> <footer> <p>Here's some contact info</p> </footer> </div>
Notez le <slot name="header"></slot>
Dans l'exemple de déclaration de modèle (premier bloc de code ci-dessus). Lorsque quelqu'un utilise ce composant, il peut déclarer <h1 slot="header">Here might be a page title</h1>
Et ce code prendra la place de <slot name="header"></slot>
Dans le balisage final.
Voici une démonstration du <slot>
En action:
Vue.component('mycomponent', {
template: "#mycomponenttemplate"
})
new Vue({
el: '#app'
});
<script src="https://unpkg.com/[email protected]/dist/vue.min.js"></script>
<div id="app">
<app-layout>
<h1 slot="header">Here might be a page title</h1>
<p>A paragraph for the main content.</p>
<p>And another one.</p>
<p slot="footer">Here's some contact info</p>
</app-layout>
</div>
<template id="mycomponenttemplate">
<div class="container">
<header>
<slot name="header"></slot>
</header>
<main>
<slot></slot>
</main>
<footer>
<slot name="footer"></slot>
</footer>
</div>
</template>
Vous montrez l'exemple :
<v-list-group
...
>
<v-list-tile slot="activator">
...
</v-list-tile>
Comme vous pouvez le constater, ce code essaie de placer le v-list-tile
Dans l’emplacement activator
du composant parent (v-list-group
).
En regardant la documentation officielle (y compris l'ancienne version ), il n'est pas mentionné si le <v-list-group>
A un emplacement nommé activator
.
Mais un coup d'oeil sur le code source de <v-list-group>
prouve rapidement qu'il en existe un.