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中也可以放


运行


相关推荐
swipe3 小时前
从 0 到 1 实现大文件上传:分片、秒传、断点续传、暂停、重试与服务端合并
前端·javascript·面试
kyriewen5 小时前
AI 生成的代码能跑就行?这 5 个坑迟早炸
前端·javascript·ai编程
kisshyshy5 小时前
🍦 雪糕、食堂、火车厢:三幅漫画吃透栈、队列与链表
javascript·算法
胡志辉5 小时前
从v8源码和react深入浅出理解 JavaScript 作用域链与闭包
前端·javascript
Bolt6 小时前
TypeScript 7.0 来了:当 tsc 用 Go 重写之后
javascript·typescript·go
阳火锅8 小时前
😭测试小姐姐终于不骂我了!这个提BUG神器太香了...
前端·javascript·面试
林希_Rachel_傻希希10 小时前
js里面的proxy理解。以及vue3响应式数据设计底层
前端·javascript·面试
阿黎梨梨10 小时前
AI Loop:告别“人肉写提示词”,让代码替你“鞭策”AI
javascript·人工智能
竹林81813 小时前
用 wagmi v2 + viem 监听链上事件,我踩了三天坑终于搞懂了实时日志与历史补全
javascript
只一13 小时前
😭从回调地狱到 async/await:一文打通 Ajax 与 JS 异步编程
javascript