VueJS 路由未定义

Pat*_*han 6 vue.js vue-router vue-component vuejs2

我正在尝试在router-view标签内呈现我的 vue 组件。但它给了我一个错误

类型错误:路由未定义

但我没有route在任何地方使用这个词。这是我的代码。

应用程序

<template>
  <div id="app">
    <my-header></my-header>

    <router-view></router-view>

    <my-footer></my-footer>
  </div>
</template>
Run Code Online (Sandbox Code Playgroud)

外部路由.js

import welcome from './components/welcome.vue';
import insideSystem from './components/insideSystem.vue';
import forgotPassword from './components/forgotPassword.vue';

export const routes = [
  {path:'',component:welcome},
  {path:'/insideSystem',component:insideSystem},
  {path:'/forgotPassword',component:forgotPassword}

];
Run Code Online (Sandbox Code Playgroud)

主文件

import Vue from 'vue'
import App from './App.vue'
import VueRouter from 'vue-router'

import {routes} from './outerroutes';
Vue.use(VueRouter);

const router = new VueRouter({
  routes,
  mode:'history'
});

new Vue({
  el: '#app',
  routes,
  render: h => h(App)
})
Run Code Online (Sandbox Code Playgroud)

我想知道这是route从哪里来的。

Vam*_*hna 7

您正在创建一个路由器实例,如下所示;

const router = new VueRouter({ 
    routes, 
    mode:'history' 
});
Run Code Online (Sandbox Code Playgroud)

但是您应该将router实例注入到root vue 实例中的路由器选项而不是routes

new Vue({
  el: '#app',
  router,
  //routes, not this
  render: h => h(App)
})
Run Code Online (Sandbox Code Playgroud)