一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第7天,点击查看活动详情。
嗨!大家好!我是手可摘棉花,一名前端开发,很开心在这里分享文章,期待着大家的点赞👍与关注➕。
1.介绍
在vue
中,路由是导航切换后无需刷新页面,也是项目必不可少的内容。目前多数都是属于单页面应用,也就是SPA,但在功能写得越多的时候,你就需用到路由来实现页面之前的切换。
vue
虽然没自带路由的功能,但官方也是提供了vue-router
可以让你实现路由的功能。本文将带领你导入vue-router
实现路由功能。
2.安装vue-router
2.1前缀条件说明
- 本文使用是使用
vue3
作为教学基础 - 需自行使用
vue cli
安装好vue3
的项目 - 本文使用到
Tailwind CSS
提供简单样式效果(选用,缺少代码样式无美化效果),有想可以查看我之前文章,在VUE中使用Tailwind CSS
2.2 安装步骤
-
通过
npm
命令添加vue-router
到我们的项目中npm install vue-router
-
在
src/views
下新增视图home.vue
和about.vue
文件<!--src/views/home.vue--> <template> <h2 class="ml-10 mt-10">Home Page</h2> </template> <script> export default { name: "home" } </script> <style scoped> </style>
<!--src/views/about.vue--> <template> <h2 class="ml-10 mt-10">About Page</h2> </template> <script> export default { name: "about" } </script> <style scoped> </style>
-
在
src/router
下新增路由index.js
文件,将上面新增的两个视图文件加载进来,并设置到路由配置中,最后创建路由并返回。// src/router/index.js import {createRouter, createWebHistory} from "vue-router"; import Home from "../views/home.vue" import About from"../views/about.vue" const routes = [ { path: "/home", name: "home", component: Home }, { path: '/about', name: 'about', component: About } ] const router = createRouter({ history: createWebHistory(), routes }) export default router
-
在
src/App.vue
中修改内容,加入<router-view/>
标签,路由刷新后会展示到该组件中。示例中为了演示加入了导航地址,实际情况可以根据自己项目的导航链接进行跳转。点击过的导航链接都会加上样式
class ="router-link-exact-active router-link-active"
,所以可以通过这两个类,进行设定点击的选中效果。<!--src/App.vue--> <template> <div class=" md:mx-auto relative bg-white overflow-hidden border-b"> <div class="h-12 md:ml-10 md:pr-4 md:space-x-8 flex justify-left"> <router-link to="/home" class="font-medium text-gray-500 hover:text-gray-900 flex items-center">Home</router-link> <router-link to="/about" class="font-medium text-gray-500 hover:text-gray-900 flex items-center">About</router-link> </div> </div> <router-view/> </template> <style scoped> .router-link-active{ color: #2440b3; } </style>
-
在
src/main.js
中让VUE
实例加载路由配置,这样vue
就拥有了路由功能了// src/main.js import { createApp } from 'vue' import App from './App.vue' import "./css/tailwindcss.css" import Router from './router' createApp(App).use(Router).mount('#app')
-
配置好以上内容,就可以了,运行
npm run dev
即可通过地址http://localhost:3000/home
预览看到如下效果:
3.总结
通过简单的配置,我们让项目快速的拥有了路由的功能,可以进行页面的切换,切换过程中浏览器的地址会发现变化,且根据router
配置文件进行加载.vue
视图及组件,渲染的效果将在router-view
中进行呈现出来。