A1Gard
A1Gard

Reputation: 4168

webpack & vuejs include component into component

I'm use webpack & vuejs.

but when I try to add some component in other component I can't.

for example rounter/index.js :

import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import Tools from '@/components/Tools' 
//import toolsmenu from '@/components/toolsmenu' 


export default new Router({
  routes: [
    {
      path: '/',
      name: 'HelloWorld',
      component: HelloWorld
    },
    {
      path: '/Tools',
      name: 'Tools',
      component: Tools
    }
  ]
})

then in component folder: HelloWorld,Tools,toolsmenu.

Tools.vue:

<template>
    <div>
       <toolsmenu></toolsmenu>
       my code
    </div>
</template>
<script>
    export default {
        name: 'Tools'
    }
</script>

toolsmenu.vue:

<template>
    <ul>
        <li> <a href="#"> index </a> </li>
    </ul>
</template>
<script>
    export default {
        name: 'toolsmenu'
    }
</script>

but in I cant include toolsmenu component in Tools component. Now how can I include toolsmenu into Tools.

Upvotes: 3

Views: 3846

Answers (2)

yussan
yussan

Reputation: 2327

you have in register toolsmenu component in Tools component first

Tools.vue

<template>
    <div>
       <toolsmenu></toolsmenu>
       my code
    </div>
</template>
<script>
 import Vue from 'vue'
 import toolsmenu from './toolsmenu.vue'

 // register component
 Vue.component('toolsmenu', toolsmenu)
 export default {
  name: 'Tools'
 }
</script>

ref : https://v2.vuejs.org/v2/guide/components.html

Upvotes: 1

dvnguyen
dvnguyen

Reputation: 3022

You need to register toolsmenu as a component of Tools:

<template>
    <div>
       <toolsmenu></toolsmenu>
       my code
    </div>
</template>
<script>
    import toolsmenu from '@/components/toolsmenu';
    export default {
        name: 'Tools',
        components: {
            toolsmenu
        }
    }
</script>

Upvotes: 7

Related Questions