App.vue
<template>
<div>
<router-link to="/">首页</router-link>
<router-link to="/about">关于</router-link>
<router-link to="/zhu">猪</router-link>
<!-- 用a标签会导致页面全部重新加载,router-link则只是局部加载 -->
<a href="/sky">sky</a>
<!-- 什么是路由系统:就是创建多页网站
原生开发是整个页面切换
现代开发方式是局部切换,全称为single page aplication单页应用-->
<!-- 需求:根据路径切换页面显示的组件
view文件夹是用来放路由器的组件的-->
<div id="box">
<!-- 什么是router-view就是路由的占位符,它会根据具体的路径切换对应路由组件-->
<router-view />
</div>
</div>
</template>
<script>
export default {}
</script>
<style lang="scss" scoped>
#box {
background-color: orange;
padding: 10px;
}
a {
margin: 10px;
display: inline-block;
padding: 10px;
text-decoration: none;
background-color: palevioletred;
opacity: 0.8;
transition: 0.3s;
&:hover {
opacity: 1;
border-radius: 4px;
}
}
a.router-link-active {
background-color: rgb(172, 104, 236);
}
a.router-link-exact-active {
border: 2px dashed brown;
}
</style>
zhu.vue&sky.vue&HomeView.vue&AboutView.vue
<template>
<div>
<h1>hello,我是sky</h1>
</div>
</template>
<script>
export default {}
</script>
<style lang="scss" scoped>
</style>
router下的index引入路由组件
import Vue from 'vue'
import VueRouter from 'vue-router'
import HomeView from '../views/HomeView.vue'
import zhu from "../views/zhu.vue"
Vue.use(VueRouter)
const routes = [
{
path: "/zhu",
component: zhu,
name: "zhu"
},
{
path: "/sky",
component: sky,
name: () => import("../views/sky.vue")
},
{
path: '/',
name: 'home',
component: HomeView
},
{
path: '/about',
name: 'about',
component: () => import( '../views/AboutView.vue')
}
]
const router = new VueRouter({
mode: 'history',
base: process.env.BASE_URL,
routes
})
export default router


- router-link和a标签的区别
- router-link-exact的应用结果