动态组件components不能在脚手架哪里正常显示

新手上路,请多包涵

我用脚手架写的路由,想再路由组件里继续插入一个动态组件,但是没有显示,报错vue is not undefined,我猜写法是错误的,但是不知道怎么搞,用export导出,就绑定不了div和组件了,怎么办?新人刚入坑不太懂,麻烦大神们指导一下,谢谢

下面是main.js

import Vue from 'vue'
import App from './App.vue'
import VueRouter from 'vue-router'
import routerConfig from './router.config.js'

Vue.use(VueRouter);
const router = new VueRouter(routerConfig);



new Vue({
  el: '#app',
  router,
  render: h => h(App)
})

下面是App.vue

<template>
  <div id="app">
    <ul>
      <li>
        <router-link to="/home">home</router-link>
        <router-link to="/news">news</router-link>
        <router-link to="/com">com</router-link>
      </li>
    </ul>
   <div>
    <router-view></router-view>
  </div>
 
  </div>
</template>

<script>

export default {

  name: 'app',
  data(){
    return {
      msg: 'Welcome to Your Vue.js App'
    }
  }

}

</script>

下面是路由绑定router.config.js

import Home from './Home.vue'
import News from './News.vue'
import Com from './Com.vue'

export default{
    routes:[
        {path:"/home", component:Home},
        {path:"/news", component:News},
        {path:"/com", component:Com},
        {path:"*", redirect:'/news'}
    ]
}

下面是Home.vue组件,Nes.vue也差不多,所以这里不忒出来

<template>
  <div id="app">
    <h3>主页</h3>
  </div>
</template>

下面就是问题的地方
Com.vue是一个动态组件

<template>
 <div id="box2">
        <input type="button" @click="a='aaa'" value="aaa组件">
        <input type="button" @click="a='bbb'" value="bbb组件">
        <component :is="a"></component>
    </div>
</template>

<script type="text/javascript">
var vm=new Vue({
      el:'#box2', 
      data:{
        a:'aaa'
      },
      components:{
        'aaa':{
          template:'<h2>我是aaa组件</h2>'
        },
        'bbb':{
          template:'<h2>我是bbb组件</h2>'
        }
      }
    });

</script>

就是这个动态组件一直没有正常显示,并且导致页面出现空白,我把var vm=new Vue()里面的东西放到main.js也不行,怎么办?

阅读 2.3k
1 个回答

首先 你看看其他的.vue文件,有 new Vue 的吗?
没有对吧。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题