现象:
html代码:

<template>
  <div id="app">
     <router-view></router-view>
  </div>
</template>

<script>
export default {
}
</script>

<style>
</style>

main.js代码:

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

Vue.config.productionTip = false
/* eslint-disable no-new */
new Vue({
  el: '#app',
  components: { App },
  template: '<App/>',
  aa
})

错误情况:
这里写图片描述
错误分析:

其实这个是按照官方的写法写的,一般如果喜欢搞得程序员才会遇到。那么为什么会出现这样的错误呢?
因为在官方第2步和第3步总的常量的命名其实是有规则的。
官方的路由定义和路由实例的名称分别是:routes和router
但是我们以为这两个可以随便变所以写成了自己喜欢的名称。这样写之后其实在实例化路由实例和应用实例时要有变化:

const router = new VueRouter({
  routes // (缩写)相当于 routes: routes
})

这儿为什么可以直接将路由定义数组传入VueRouter中呢?因为实例中对路由定义的数组的命名是routes。注释中写了routes相当于routes:routes

Logo

前往低代码交流专区

更多推荐