Router_路由的基本使用

什么是路由

定义:路由就是根据不同的URL地址展示不同的内容或页面

通俗理解:路由就像是一个地图,我们要去不同的地方,需要通过不同的路线进行导航

路由的作用

单页应用程序(SPA)中,路由可以实现不同视图之间的无刷新切换,提升用户体验;

路由还可以实现页面的认证和权限控制,保护用户的隐私和安全;

路由还可以利用浏览器的前进与后退,帮助用户更好地回到之前访问过的页面。

路由的基本使用

安装依赖

准备切换的vue

创建router.js

clike 复制代码
 // 导入创建路由对象需要使用的函数
import {createRouter,createWebHashHistory} from 'vue-router'

//  导入.vue组件
import Home from '../components/Home.vue'
import List from '../components/List.vue'
import Update from '../components/Update.vue'
import Add from '../components/Add.vue';

// 创建一个路由对象
const router = createRouter({
    // history属性用于记录路由的历史
    history:createWebHashHistory(),
    // 用于定义多个不同的路径和组件之间的对应关系
    routes:[
        {
            path:"/home",
            component:Home 
        },
        {
            path:"/list",  
            component:List
        },
        {
            path:"/add",
            component:Add 
        },
        {
            path:"/update",
            component:Update 
        },
        {
            path:"/",
            component:Home
        }
    ]
})

// 向外暴露router
export default router

修改main.js

clike 复制代码
import { createApp } from 'vue'
// import './style.css'
import App from './App.vue'


//  在整个App.vue中可以使用路由
import router from './routers/router.js'

const app = createApp(App)

app.use(router)
app.mount('#app')

修改App.vue

clike 复制代码
<script setup>
</script>
<template>
  <div>
  
    App开始的内容<br>
    <router-link to="/home">home页</router-link><br>
    <router-link to="/list">list页</router-link><br>
    <router-link to="/update">update页</router-link><br>
    <router-link to="/add">add页</router-link><br>
    <hr>
    <!-- 该标签会被替换成具体的.vue -->
    <router-view></router-view>
    <hr> 
    App结束的内容
  </div>
</template> 

<style scoped>
</style>

router-link不仅仅可以放在router-view所在页面,每个单独的.vue中也可以放


运行


相关推荐
To_OC2 小时前
别再串行写 await 了,Promise.all 才是并行请求的正确打开方式
前端·javascript·promise
To_OC3 小时前
LC 17 电话号码的字母组合:我的回溯算法,就是从这道题开窍的
javascript·算法·leetcode
你怎么知道我是队长5 小时前
JavaScript的变量和数据类型介绍
开发语言·javascript·ecmascript
名字还没想好☜6 小时前
Next.js 中间件实战:鉴权、重定向与 A/B 分流
开发语言·前端·javascript·中间件·react·next.js
广州灵眸科技有限公司6 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) INI文件操作
java·前端·javascript·网络·人工智能
心中有国也有家6 小时前
AtomGit Flutter 鸿蒙客户端:ModalBottomSheet 实战
android·javascript·学习·flutter·华为·harmonyos
仙人球部落8 小时前
-python-LangGraph框架(3-31-LangGraph 「合并式状态管理」的原理与实践)
开发语言·javascript·python
sunfdf9 小时前
Next.js 新手从零部署到首跑实战指南
开发语言·javascript·ecmascript
SmartBoyW10 小时前
前端死磕:一文彻底搞懂 JS 事件循环 (Event Loop) 与宏微任务
前端·javascript
mONESY11 小时前
基于MCP协议搭建全链路智能Agent:地图检索+浏览器自动化+本地文件操控实战
javascript