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


Posted in Javascript onJune 01, 2017

在应用复杂时,推荐使用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');

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

Javascript 相关文章推荐
innertext , insertadjacentelement , insertadjacenthtml , insertadjacenttext 等区别
Jun 29 Javascript
JavaScript 字符串与数组转换函数[不用split与join]
Dec 13 Javascript
javaScript同意等待代码实现心得
Jan 01 Javascript
mailto的使用技巧分享
Dec 21 Javascript
用javascript将数据导入Excel示例代码
Sep 10 Javascript
jQuery使用hide方法隐藏元素自身用法实例
Mar 30 Javascript
简单介绍JavaScript的变量和数据类型
Jun 03 Javascript
利用jQuery实现WordPress中@的ID悬浮显示评论内容
Dec 11 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
Dec 20 Javascript
WebPack配置vue多页面的技巧
May 15 Javascript
使用validate.js实现表单数据提交前的验证方法
Sep 04 Javascript
微信小程序实现购物页面左右联动
Feb 15 Javascript
Vue.js中兄弟组件之间互相传值实例
Jun 01 #Javascript
Vue.Draggable实现拖拽效果
Jul 29 #Javascript
JS请求servlet功能示例
Jun 01 #Javascript
vue.js加载新的内容(实例代码)
Jun 01 #Javascript
深入理解JavaScript创建对象的多种方式以及优缺点
Jun 01 #Javascript
解决BootStrap Fileinput手机图片上传显示旋转问题
Jun 01 #Javascript
详解Vue2.0里过滤器容易踩到的坑
Jun 01 #Javascript
You might like
SONY SRF-22W(33W)的电路分析和维修案例
2021/03/02 无线电
ThinkPHP数据操作方法总结
2015/09/28 PHP
PHP+MySql+jQuery实现的&quot;顶&quot;和&quot;踩&quot;投票功能
2016/05/21 PHP
phpMyAdmin通过密码漏洞留后门文件
2018/11/20 PHP
PHP安装memcache扩展的步骤讲解
2019/02/14 PHP
理解JavaScript中的事件
2006/09/23 Javascript
GWT中复制到剪贴板 js+flash实现复制 兼容性比较好
2010/03/07 Javascript
javascript的原生方法获取数组中的最大(最小)值
2012/12/19 Javascript
手机号码,密码正则验证
2014/09/04 Javascript
js实现点击添加一个input节点
2014/12/05 Javascript
js+css实现tab菜单切换效果的方法
2015/01/20 Javascript
零基础轻松学JavaScript闭包
2016/12/30 Javascript
基于Vue2.0的分页组件
2017/03/16 Javascript
Vue-cli proxyTable 解决开发环境的跨域问题详解
2017/05/18 Javascript
jQuery实现表格冻结顶栏效果
2017/08/20 jQuery
three.js实现3D视野缩放效果
2017/11/16 Javascript
jquery radio 动态控制选中失效问题的解决方法
2018/02/28 jQuery
vue项目tween方法实现返回顶部的示例代码
2018/03/02 Javascript
vue移动端路由切换实例分析
2018/05/14 Javascript
Vue.directive 实现元素scroll逻辑复用
2019/11/29 Javascript
JavaScript的console命令使用实例
2019/12/03 Javascript
微信小程序 this.triggerEvent()的具体使用
2019/12/10 Javascript
[02:17]DOTA2亚洲邀请赛 RAVE战队出场宣传片
2015/02/07 DOTA
从零学Python之hello world
2014/05/21 Python
详解Python中for循环是如何工作的
2017/06/30 Python
浅谈Django中的QueryDict元素为数组的坑
2020/03/31 Python
详解用python -m http.server搭一个简易的本地局域网
2020/09/24 Python
DBA数据库管理员JAVA程序员架构师必看
2016/02/07 面试题
学习委员自我鉴定
2014/01/13 职场文书
庆元旦迎新年广播稿
2014/02/18 职场文书
大学新生军训自我鉴定
2014/03/18 职场文书
落实八项规定专题民主生活会对照检查材料
2014/09/15 职场文书
读后感作文评语
2014/12/25 职场文书
2015年医院科室工作总结范文
2015/05/26 职场文书
2016年全国爱牙日宣传活动总结
2016/04/05 职场文书
win10音频服务未响应怎么解决?win10音频服务未响应未修复的解决方法
2022/08/14 数码科技