现象:
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