vue-cli配置路由报错vm.$options.template.charAt is not a function,解决方案

2,851 阅读1分钟

在vue-cli项目中,在进行路由的配置时,npm run serve运行时没有报错,但是浏览器的调试窗口报了vm.$options.template.charAt is not a function这种错。

目录结构(部分)

  • page
    --------Home.vue
  • router
    --------index.js
  • main.js

代码片段

main.js

import Vue from 'vue'
import App from './App.vue'
import router from './router/index'

Vue.config.productionTip = false

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

Home.vue

<template>
    <div>123</div>
</template>

index.js

import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)

import Home from "../page/Home"


let router = new VueRouter({
    routes: [
        {path:"/",component:{template:Home}}
    ]
})

export default router

执行上面的代码浏览器会报vm.$options.template.charAt is not a function错误。

解决方案

只要将index.js中的{path:"/",component:{template:Home}}代码改为{path:"/",component:Home}就可以了。因为router里引入的Home相当于组件,并不是代码模板,所以才会报这种错误。