webpack& vuejs将组件包含在组件中

时间:2018-01-26 00:02:49

标签: webpack vue.js vue-component

我正在使用webpack& vuejs。

但是当我尝试在其他组件中添加一些组件时,我不能。

例如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
    }
  ]
})

然后在组件文件夹中:HelloWorldToolstoolsmenu

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>

但我无法在toolsmenu组件中加入Tools组件。 现在,我如何将toolsmenu纳入Tools

2 个答案:

答案 0 :(得分:3)

您需要将toolsmenu注册为Tools

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

答案 1 :(得分:1)

您在toolsmenu组件首先注册Tools组件

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>

参考:https://vuejs.org/v2/guide/components.html