vue路由使用问题:Error in render TypeError Cannot read property 'matched' of undefined
记一个使用vue-router时的低级错误。
使用vue-router时,打开网页出现如下错误:
一开始我以为是vue-router没有安装好,重装后发现问题仍然存在。仔细检查过后发现问题出在没有在main.js中的Vue实例对象中挂载vue-router对象:
在此总结一下使用vue-router的步骤
- 首先安装好vue-router后中,配置router文件夹下的index.js时分如下三步:
import Vue from 'vue'
import VueRouter from 'vue-router'
// 采用懒加载的方式引入组件
const Home = () => import('../views/home/Home');
//1.安装插件
Vue.use(VueRouter);
//2.创建路由对象
const routes = [
{
path: '',
redirect: '/home'
},
{
path: '/home',
component: Home
},
]
const router = new VueRouter({
routes,
mode: "history"
})
//3.导出router
export default router
注意要进行导出。
- 在main.js中引入index.js中导出的router对象,并在新建的Vue对象中引用。
import Vue from 'vue'
import App from './App'
import router from './router'
Vue.config.productionTip = false
/* eslint-disable no-new */
new Vue({
el: '#app',
//不要忘了挂载router
router,
render: h => h(App)
})
多抽出1分钟来学习,让你的生命更加精彩!