在webpack构建的项目中使用vue-router
1.npm i vue-router -S
2.修改main.js
步骤写在注释中
main.js:
import Vue from 'vue'
//1.导入vuerouter包
import VueRouter from 'vue-router'
//2.手动安装包
Vue.use(VueRouter)
//4.导入路由组件
import Account from "./main/Account.vue";
import GoodsList from "./main/GoodsList.vue";
import App from './App.vue'
//3.创建路由对象
let router=new VueRouter({
routes:[
{path:'/account',component:Account},
{path: '/goodsList',component:GoodsList}
]
})
let vm=new Vue({
el:"#app",
render:c=>c(App),
router//5.将路由对象挂载到vm上
})
App.vue:
<template>
<div>
<h1>这是app组件</h1>
<router-link to="/account">Account</router-link>
<router-link to="/goodsList">GoodsList</router-link>
<router-view></router-view>
</div>
</template>
<script>
export default {
name: "App"
}
</script>
<style scoped>
</style>
GoodList.vue:
<template>
<div>
<h1>
这是Goodslist组件
</h1>
</div>
</template>
<script>
export default {
name: "GoodsList"
}
</script>
<style scoped>
</style>
Account.vue:
<template>
<div>
<h1>
这是Account组件
</h1>
</div>
</template>
<script>
export default {
name: "Account"
}
</script>
<style scoped>
</style>
三、路由嵌套
和普通的路由相似,唯一注意的是,子路由的路径不要加/
let router=new VueRouter({
routes:[
{
path:'/account',
component:Account,
children:[
{path: 'login',component:Login},
{path: 'register',component:Register}
]
},
{path: '/goodsList',component:GoodsList}
]
})