2017-09-21 5 views
0

J'essaie juste de suivre l'exemple de l'utilisation de slot sur le site officiel de Vue. Mais il a échoué, j'ai fait le code très courtVue.js ne peut pas utiliser <slot> pour rendre le composant parent

composant parent

<template> 
    <subMenuTemp> 
    <div class="text" > 
     parent content 
    </div> 
    </subMenuTemp> 
</template> 

<script> 
    import subMenuTemp from 'src/test/testChildren.vue' 
    export default { 
    data() { 
    }, 
    components: { 
     subMenuTemp 
    } 
    } 
</script> 
composant

enfants un autre fichier .vue

<template> 
    <div class="content"> 
     <slot> 
     old content 
     </slot> 
    </div> 
</template> 

<script> 
    export default { 

    } 
</script> 

bien que le code est très court, je ne trouve toujours pas où est ma faute

Répondre

0

Assurez-vous d'inclure les deux composants dans votre main.js ou un fichier .js qui importe Vue. Cela devrait ressembler à ceci:

import Vue from 'vue' 
import App from './App' 
import subMenuTemp from './test/testChildren.vue' 

new Vue({ 
    el: '#app', 
    template: '<App/>', 
    components: { App, subMenuTemp } 
}) 
+0

Pourquoi devrais-je importer le composant parent et le composant enfants dans le fichier main.js? Cela signifie-t-il que si je veux utiliser 'slot', le composant parent et enfants doit être chargé dans le main.js. (il n'y a que deux fichiers .js dans mon projet, l'autre est index.js qui est utilisé pour enregistrer l'URL de l'itinéraire – LFBuildAMountain

+0

Oui, vous devez inclure les composants dans main.js. –