vue.js - vue vue-router模块化问题

查看:311
本文介绍了vue.js - vue vue-router模块化问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

想把vue-router独立成一个模块的时候报错

先放正常的代码main.js

import App from './App'

// import router from './router'
import Vue from 'vue'
import VueRouter from 'vue-router'
const Foo = { template: '<div>foo</div>' }
const Bar = { template: '<div>bar</div>' }

const routes = [
  { path: '/foo', component: Foo },
  { path: '/bar', component: Bar }
]

var router = new VueRouter({
    routes: routes
});

Vue.use(VueRouter)

new Vue({
    el: '#app',
    template: '<App/>',
    components: { App },
    router: router
})

然后把vue-router部分的代码独立到router.js中,然后在main.js中导入,报错。以下是router.js

import Vue from 'vue'
import VueRouter from 'vue-router'
const Foo = { template: '<div>foo</div>' }
const Bar = { template: '<div>bar</div>' }

const routes = [
  { path: '/foo', component: Foo },
  { path: '/bar', component: Bar }
]

var router = new VueRouter({
    routes: routes
});

export {
    router
}

main.js

import App from './App'

import router from './router'

Vue.use(VueRouter)

new Vue({
    el: '#app',
    template: '<App/>',
    components: { App },
    router: router
})

报错信息

[Vue warn]: Error when rendering component <hello> at G:\Clouds\vw\CloudCity\src\components\Hello.vue: warn @ vue.common.js?e881:521
vue.common.js?e881:3098 Uncaught TypeError: Cannot read property 'path' of undefined

页面中$route.path为undefined

解决方案

import {router} from './router'

这篇关于vue.js - vue vue-router模块化问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆