当前位置: 首页 > web >正文

【Vue2 ✨】Vue2 入门之旅(九):Vue Router 入门

在前面几篇文章中,我们学习了 Vue 的模板、组件、动画等知识。本篇将介绍 Vue Router,它是 Vue 官方提供的路由管理器,用于构建单页应用(SPA)。


目录

  1. 什么是路由
  2. Vue Router 安装与引入
  3. 基本用法
  4. 动态路由
  5. 嵌套路由
  6. 编程式导航
  7. 小结

什么是路由

在传统网站中,点击链接会向服务器发送请求,返回新的 HTML 页面。
单页应用(SPA) 中,页面只有一个 HTML,切换页面其实是切换 组件,路由负责管理这种组件切换。


Vue Router 安装与引入

在 HTML 中直接引入:

<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue-router@3/dist/vue-router.js"></script>

或者在项目中安装:

npm install vue-router@3

基本用法

<div id="app"><p><router-link to="/home">首页</router-link><router-link to="/about">关于</router-link></p><router-view></router-view>
</div><script>
// 定义组件
const Home = { template: '<h2>这里是首页</h2>' }
const About = { template: '<h2>这里是关于页</h2>' }// 定义路由
const routes = [{ path: '/home', component: Home },{ path: '/about', component: About }
]// 创建路由实例
const router = new VueRouter({ routes })// 创建 Vue 实例
new Vue({el: '#app',router
})
</script>

在这里插入图片描述

  • <router-link> 用来生成导航链接
  • <router-view> 用来显示匹配到的组件

动态路由

可以在路径中使用参数:

<div id="app"><router-link to="/user/101">用户 101</router-link><router-view></router-view>
</div><script>
const User = { template: '<p>用户 ID:{{ $route.params.id }}</p>' 
}const routes = [{ path: '/user/:id', component: User }
]const router = new VueRouter({ routes })new Vue({el: '#app',router
})
</script>

在这里插入图片描述

访问 /user/101 时,会显示 用户 ID:101


嵌套路由

路由里还可以嵌套子路由。

<div id="app"><router-link to="/parent/child">子页面</router-link><router-view></router-view>
</div><script>
const Parent = { template: '<div>父页面 <router-view></router-view></div>' }
const Child = { template: '<p>子页面</p>' }const routes = [{ path: '/parent', component: Parent,children: [{ path: 'child', component: Child }]}
]const router = new VueRouter({ routes })new Vue({el: '#app',router
})
</script>

在这里插入图片描述


编程式导航

除了 <router-link>,我们也可以在代码里跳转。

this.$router.push('/home')
this.$router.replace('/about')
this.$router.go(-1) // 后退一步

小结

  1. Vue Router 用于管理 SPA 的页面切换。
  2. 核心组件:<router-link>(导航)、<router-view>(渲染)。
  3. 常见功能:基本路由、动态路由、嵌套路由、编程式导航。

📚 下一篇文章,我们将学习 Vuex 入门,理解状态管理的思想。

http://www.xdnf.cn/news/19757.html

相关文章:

  • 从“人海战术”到“AI协同”:良策金宝AI如何助力设计院数智化跃迁?
  • NLP×第六卷:她给记忆加了筛子——LSTM与GRU的贴靠机制
  • ADB图片上传轮播
  • 【MySQL】初识数据库基础
  • 12.《ACL 与 NAT 技术实验指南》
  • 基于飞算JavaAI的在线图书借阅平台设计与实现
  • 【国内外云计算平台对比:AWS/阿里云/Azure】
  • 运作管理学习笔记4-产能规划
  • 域内横向移动
  • uni-app iOS 应用版本迭代与上架实践 持续更新的高效流程
  • 教你 Centos 如何离线安装 rlwrap 插件(内网环境)
  • 【React】Redux
  • checkBox支持拖拉拽调动位置,改变布局和选择值的顺序
  • MySQL 事务的“暗面”与“高光”:故障、调优与案例复盘
  • 网络编程 socket——TCP
  • Leetcode 3665. Twisted Mirror Path Count
  • 江协科技STM32学习笔记补充之001。为什么C语言在对STM32编程过程中的二进制要用十六进制来进行读写。而不能直接用二进制来进行读写。
  • “人工智能+”时代的端侧AI:算力下沉与实时视频的新基座
  • 36. Ansible变量+管理机密
  • leetcode-python-1796字符串中第二大的数字
  • Python OpenCV图像处理与深度学习:Python OpenCV对象检测入门-Haar级联分类器与人脸检测
  • SpringCloud框架组件梳理
  • SQL Server从入门到项目实践(超值版)读书笔记 25
  • go语言面试之Goroutine 数量控制, GC回收 和任务调度
  • JimuReport 积木报表 v2.1.3 版本发布,免费开源的可视化报表和大屏
  • 2025 金融行业证书怎么选?从能力适配到职业方向的理性梳理
  • 别让你的 AI 对话烂在聊天记录里!
  • 马健涛事件折射出中国音乐产业转型期的深层矛盾,最终解决之道在于完善我国音乐版权鉴定的技术标准
  • Linux系统之----客户端服务器设计(共享内存)
  • 一文通透!为什么 DBSCAN 能检测任意形状的簇 ?