博客
关于我
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/

你可能感兴趣的文章
php-redis中文参考手册_Ping_echo_set_get_setex_psetex_...
查看>>
Redis使用不当导致应用卡死
查看>>
PHP-Shopify-API-Wrapper 使用教程
查看>>
php-兔子问题,斐波那契数列
查看>>
PHP-希尔排序
查看>>
PHP-快速排序的2种实现方法
查看>>
Redis使用lua脚本
查看>>
php-数据结构-二叉树的构建、前序遍历,中序遍历,后序遍历,查找,打印
查看>>
php-有序数组合并后仍有序
查看>>
redis使用
查看>>
Redis以及Redis的php扩展安装
查看>>
PHP-算法-最少比较次数获取最大值最小值
查看>>
php-约瑟夫问题
查看>>
Redis从库不能同步报Can’t save in background: fork: Cannot allocate memory错误
查看>>
Redis从入门到精通|干货篇
查看>>
php.ini maxfileuploads,细说PHP高洛峰文件上传类源文件
查看>>
php.ini中常见的配置信息选项
查看>>
php.ini配置中有10处设置不当,会使网站存在安全问题
查看>>
php/jsp/asp的区别
查看>>
php20个主流框架
查看>>