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的应用结果