详解vuejs几种不同组件(页面)间传值的方式

发布时间 - 2026-01-11 01:38:04    点击率:

在应用复杂时,推荐使用vue官网推荐的vuex,以下讨论简单SPA中的组件间传值。

一、路由传值

路由对象如下图所示:

在跳转页面的时候,在js代码中的操作如下,在标签中使用<router-link>标签

this.$router.push({

            name: 'routePage',

            query/params: {

              routeParams: params

            }

          }) 

需要注意的是,实用params去传值的时候,在页面刷新时,参数会消失,用query则不会有这个问题。

这样使用起来很方便,但url会变得很长,而且如果不是使用路由跳转的界面无法使用。

二、通过$parent,$chlidren等方法调取用层级关系的组件内的数据和方法

通过下面的方法调用:

this.$parent.$data.id //获取父元素data中的id

this.$children.$data.id //获取父元素data中的id 

这样用起来比较灵活,但是容易造成代码耦合性太强,导致维护困难

三、通过eventBus传递数据

使用前可以在全局定义一个eventBus

window.eventBus = new Vue(); 

在需要传递参数的组件中,定义一个emit发送需要传递的值,键名可以自己定义(可以为对象)

eventBus.$emit('eventBusName', id); 

在需要接受参数的组件重,用on接受该值(或对象)

//val即为传递过来的值

eventBus.$on('eventBusName', function(val) {console.log(val)}) 

最后记住要在beforeDestroy()中关闭这个eventBus

eventBus.$off('eventBusName'); 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# vue.js  # 组件之间传值  # 组件传值  # vue  # 深入理解Vue 组件之间传值  # vue父组件向子组件动态传值的两种方法  # vue3 父子组件间相互传值方式  # Vue.js中兄弟组件之间互相传值实例  # vue组件常用的父子、兄弟、跨组件等传值方法  # 跳转  # 的是  # 会有  # 推荐使用  # 这个问题  # 要在  # 如果不是  # 很长  # 所示  # 即为  # 很方便  # 需要注意  # 太强  # 官网  # 大家多多  # 如下图  # 键名  # lt  # router  # js 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在建站宝盒中设置产品搜索功能?  Laravel如何使用Collections进行数据处理?(实用方法示例)  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  如何挑选高效建站主机与优质域名?  Laravel storage目录权限问题_Laravel文件写入权限设置  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  Bootstrap整体框架之CSS12栅格系统  如何为不同团队 ID 动态生成多个非值班状态按钮  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  EditPlus中的正则表达式 实战(1)  MySQL查询结果复制到新表的方法(更新、插入)  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  如何用JavaScript实现文本编辑器_光标和选区怎么处理  再谈Python中的字符串与字符编码(推荐)  google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤  javascript中的try catch异常捕获机制用法分析  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  微信小程序制作网站有哪些,微信小程序需要做网站吗?  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  如何在Windows环境下新建FTP站点并设置权限?  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  iOS UIView常见属性方法小结  Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程  html如何与html链接_实现多个HTML页面互相链接【互相】  Laravel怎么使用artisan命令缓存配置和视图  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  C语言设计一个闪闪的圣诞树  php结合redis实现高并发下的抢购、秒杀功能的实例  如何用美橙互联一键搭建多站合一网站?  浅谈Javascript中的Label语句  php打包exe后无法访问网络共享_共享权限设置方法【教程】  三星网站视频制作教程下载,三星w23网页如何全屏?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  如何在建站主机中优化服务器配置?  HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  音响网站制作视频教程,隆霸音响官方网站?  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  Laravel怎么使用Intervention Image库处理图片上传和缩放  如何快速生成专业多端适配建站电话?  如何快速生成可下载的建站源码工具?