博客
关于我
vue学习笔记(十)路由
阅读量:434 次
发布时间:2019-03-06

本文共 1810 字,大约阅读时间需要 6 分钟。

Vue Router 组件通信与路由传参详解

Vue Router 组件通信与路由传参

在前文中,我们学习了Vue Router的基础知识和使用方法。本文将深入探讨Vue Router在组件间通信和路由参数传递方面的实际应用。


Vue Router 组件通信

在Vue.js应用中,组件间的通信是一个核心问题。通过Vue Router,我们可以在路由切换时,轻松地在组件间传递参数。以下是实现组件间通信的常用方法:

1. 创建事件总线(Bus)

首先,我们需要创建一个事件总线,用于实现组件间的通信。在src/assets目录下,创建一个新的文件bus.js

import Vue from 'vue'export default new Vue({  methods: {    emit: Vue.prototype.$emit  }})

或者更简单地:

let bus = new Vue()export default bus

2. 具体组件实现

BrotherComponent.vue中:

SisterComponent.vue中:

3. 路由注册

src/router目录下,创建test.js

import Vue from 'vue'import Router from 'vue-router'import Brother from '@/components/test04/BrotherComponent'import Sister from '@/components/test04/SisterComponent'Vue.use(Router)export default new Router({  routes: [    {      path: '/',      name: 'Brother',      component: Brother    },    {      path: '/sister',      name: 'Sister',      component: Sister    }  ]})

Vue Router 路由参数传递

在Vue Router中,路由参数的传递是实现组件间通信的重要手段。以下是两种常用方式:paramsquery

1. params 参数传递

发送参数

在组件中使用$router.push方法:

methods: {  sendMsg() {    this.$router.push({      name: 'two',      params: {        code: this.code      }    })  }}

接收参数

在目标组件中使用$route.params

2. query 查询参数

发送参数

在组件中使用$router.push方法:

methods: {  sendMsg() {    this.$router.push({      path: 'Four',      query: {        msg: this.msg      }    })  }}

接收参数

在目标组件中使用$route.query


params 和 query 的区别

特性 params query
URL 中的表现 没有显示 显示在地址栏
数据持久性 不持久 持久
数据传递方式 只能通过 name 可以通过 path 或 name
数据在组件中的获取 $route.params $route.query

总结

通过上述方法,我们可以轻松实现组件间的通信和路由参数的传递。在实际开发中,可以根据具体需求选择合适的传递方式,灵活配置路由参数,提升应用的功能和用户体验。

转载地址:http://fsfyz.baihongyu.com/

你可能感兴趣的文章
pdf根据模板导出
查看>>
PDF调出本来存在的书签面板
查看>>
pdf转图片
查看>>
pdf转图片、提取pdf文本、提取pdf图片
查看>>
pdo sqlserver
查看>>
PDO中捕获SQL语句中的错误
查看>>
peek和pop的区别
查看>>
Pelemay 项目教程
查看>>
Penetration Testing、Security Testing、Automation Testing
查看>>
PentestGPT:一款由ChatGPT驱动的强大渗透测试工具
查看>>
PEP 8016 获胜,成为新的 Python 社区治理方案
查看>>
PEPM Cookie 远程代码执行漏洞复现(XVE-2024-16919)
查看>>
Percona Server 5.6 安装TokuDB
查看>>
percona-xtrabackup 备份
查看>>
SpringBoot集成OpenOffice实现doc文档转html
查看>>
ROS中机器人的强化学习路径规划器
查看>>
Perl的基本語法
查看>>
perl输出中文有乱码
查看>>
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). 大数据ssh权限问题 hadoop起不来 hadoopssh错
查看>>
PermissionError:Python 中的 [Errno 13]
查看>>