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

Vue Router【前端】

学无止境

目录

  • Vue Router 常用方法对比
  • 举例
  • router.push / router.replace的参数
    • router.push / router.replace 参数形式
      • 字符串形式
      • 对象形式
      • 使用示例
        • 通过 name + params(推荐,配合动态路由)
        • 通过 path + query
        • 带hash
        • 带 state(Vue Router 4 新增)
        • 总结

Vue Router 常用方法对比

方法功能特点适用场景
router.push(location)跳转到一个新路由会往 历史栈添加一条记录(类似浏览器点击链接)用户正常跳转,需要保留返回历史时
router.replace(location)跳转到一个新路由替换当前历史记录,不会新增历史登录后跳转首页、表单提交后跳转结果页(不希望用户点返回回到之前页面)
router.go(n)在历史记录中前进/后退 n 步类似浏览器 history.go(n)例如:router.go(-1) 返回上一页
router.back()返回上一个历史记录等同于 router.go(-1)返回上页按钮
router.forward()前进到下一个历史记录等同于 router.go(1)不常用,一般浏览器自带前进功能

举例

// push - 会新增历史记录
router.push({ name: 'User', params: { id: 123 } })// replace - 替换当前历史
router.replace({ path: '/home' })// go/back/forward
router.go(-1)   // 返回上一个页面
router.back()   // 同上
router.forward() // 前进一页

router.push / router.replace的参数

router.push / router.replace 参数形式

字符串形式

router.push('/home') // 等同于模板写 <router-link to="/home">

对象形式

router.push({path: '/user/123',query: { page: 1, order: 'desc' }
})

可选属性:

参数类型说明示例
pathstring路径字符串(绝对/相对路径)/home, user/profile
namestring命名路由的名字(推荐用这个方式){ name: 'User', params: { id: 123 } }
paramsobject动态路由参数(只能配合 name 使用,不能和 path 混用){ name: 'User', params: { id: 123 } }
queryobject查询参数,会拼接到 URL 上{ path: '/home', query: { page: 2 } } → /home?page=2
hashstring页面锚点(以 # 开头){ path: '/about', hash: '#team' } → /about#team
stateobject(仅 Vue Router 4,基于 history.state)给路由传递额外状态,不显示在 URL 上{ path: '/home', state: { from: 'login' } }

使用示例

通过 name + params(推荐,配合动态路由)
// 定义路由
{ path: '/user/:id', name: 'User', component: User }// 跳转
router.push({ name: 'User', params: { id: 123 } })
// → /user/123

注意:params 不能和 path 同时使用,否则会被忽略。
params 必须在路由配置里有占位符(动态路由参数) 才能生效,否则传了也不会显示在 URL 里。

通过 path + query
router.push({ path: '/search', query: { keyword: 'vue', page: 1 } })
// → /search?keyword=vue&page=1
带hash
router.push({ path: '/about', hash: '#contact' })
// → /about#contact
带 state(Vue Router 4 新增)
router.push({ path: '/home', state: { from: 'login' } })// 在目标页获取
console.log(router.options.history.state.from) // 'login'
总结
  • path → 明确写死路径。
  • name + params → 动态路由(推荐方式)。
  • query → 查询参数(URL 上显示)。
  • hash → 页面锚点跳转。
  • state → Vue Router 4 新增,用于隐藏传参。
http://www.dtcms.com/a/394789.html

相关文章:

  • 数据结构——受限线性表之栈
  • 数据结构(1)------ 三要素
  • BaaS(Backend as a Service)概述、平台、项目
  • 区间dp,数据结构优化dp等5种dp,各种trick深度讲解
  • 数据结构笔试选择题:题组1
  • 前端基础:从0到1实现简单网页效果(一)
  • 数据结构|图论:从数据结构到工程实践的核心引擎
  • AI赋能个人效能提升:实战演练工作规划、项目复盘与学习发展
  • 7. Linux RAID 存储技术
  • iOS 上架 App 费用详解 苹果应用发布成本、App Store 上架收费标准、开发者账号与审核实战经验
  • kafka 2.12_3.9.1 版本修复 Apache Commons BeanUtils 访问控制错误漏洞(CVE-2025-48734)
  • 二分查找经典——力扣153.寻找旋转排序数组中的最小值
  • 离散数学之命题逻辑
  • 【Linux命令从入门到精通系列指南】ping 命令详解:网络连通性诊断的终极工具
  • 游戏UI告别“贴图”时代:用Adobe XD构建“活”的设计系统
  • NXP - 用MCUXpresso IDE导入lpcopen_2_10_lpcxpresso_nxp_lpcxpresso_1769.zip中的工程
  • ✅ Python+Django租房推荐系统 双协同过滤+Echarts可视化 租房系统 推荐算法 全栈开发(建议收藏)✅
  • Django入门-3.公共视图
  • 【 设计模式 | 结构型模式 代理模式 】
  • 小杰机器学习高级(five)——分类算法的评估标准
  • IS-IS 中同时收到 L1 和 L2 的 LSP 时,是否优选 L1
  • 【开源】基于STM32的智能车尾灯
  • 电子电气架构 --- 软件开发与产品系统集成流程(下)
  • Ubuntu系统目录架构是怎么样的
  • 自动驾驶仿真之“场景交互”技术研究
  • 《AI管家还是数字化身?—— 一种面向未来的个人智能架构构想》
  • AI提升工业生产制造安全,基于YOLOv9全系列【yolov9/t/s/m/c/e】参数模型开发构建工业生产制造加工场景下工业设备泄漏智能化检测识别预警系统
  • 深度学习(十一):深度神经网络和前向传播
  • js立即执行函数的几种写法
  • RecyclerView里更新列表数是不想让header也刷新,怎么处理