详解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 相关文章推荐
jsTree 基于JQuery的排序节点 Bug
Jul 26 Javascript
jqueyr判断checkbox组的选中(示例代码)
Nov 08 Javascript
通过隐藏iframe实现文件下载的js方法介绍
Feb 26 Javascript
JavaScript 作用域链解析
Nov 13 Javascript
JavaScript中Function()函数的使用教程
Jun 04 Javascript
深入理解JavaScript编程中的原型概念
Jun 25 Javascript
js实现input框文字动态变换显示效果
Aug 19 Javascript
JavaScript性能优化之小知识总结
Nov 20 Javascript
jQuery添加删除DOM元素方法详解
Jan 18 Javascript
Angular的事件和表单详解
Dec 26 Javascript
在nginx上部署vue项目(history模式)的方法
Dec 28 Javascript
快速了解Vue父子组件传值以及父调子方法、子调父方法
Jul 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
phpmyadmin中配置文件现在需要绝密的短语密码的解决方法
2007/02/11 PHP
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
2012/01/16 PHP
PHP中3种生成XML文件方法的速度效率比较
2012/10/06 PHP
基于php socket(fsockopen)的应用实例分析
2013/06/02 PHP
PHP生成随机码的思路与方法实例探索
2019/04/11 PHP
javascript 禁止复制网页
2009/06/11 Javascript
Js setInterval与setTimeout(定时执行与循环执行)的代码(可以传入参数)
2010/06/11 Javascript
jQuery1.3.2 升级到jQuery1.4.4需要修改的地方
2011/01/06 Javascript
js解析与序列化json数据(三)json的解析探讨
2013/02/01 Javascript
IE6下拉框图层问题探讨及解决
2014/01/03 Javascript
JS实现回到页面顶部动画效果的简单实例
2016/05/24 Javascript
详谈js中window.location.search的用法和作用
2017/02/13 Javascript
详解vue与后端数据交互(ajax):vue-resource
2017/03/16 Javascript
基于js原生和ajax的get和post方法以及jsonp的原生写法实例
2017/10/16 Javascript
浅谈vue,angular,react数据双向绑定原理分析
2017/11/28 Javascript
JS改变页面颜色源码分享
2018/02/24 Javascript
bootstrap 弹出框modal添加垂直方向滚轴效果
2018/07/09 Javascript
jQuery序列化form表单数据为JSON对象的实现方法
2018/09/20 jQuery
NestJs 静态目录配置详解
2019/03/12 Javascript
layui--js控制switch的切换方法
2019/09/03 Javascript
详解JavaScript中的链式调用
2020/11/27 Javascript
html5以及jQuery实现本地图片上传前的预览代码实例讲解
2021/03/01 jQuery
[06:09]辉夜杯主赛事开幕式
2015/12/25 DOTA
Python实现解析Bit Torrent种子文件内容的方法
2017/08/29 Python
TF-IDF算法解析与Python实现方法详解
2017/11/16 Python
初探利用Python进行图文识别(OCR)
2019/02/26 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
2019/10/17 Python
python输出第n个默尼森数的实现示例
2020/03/08 Python
PyTorch中clone()、detach()及相关扩展详解
2020/12/09 Python
重新定义牛仔布,100美元以下:Warp + Weft
2018/07/25 全球购物
理工科学生的自我评价
2013/12/15 职场文书
党员学习群众路线心得体会
2014/11/04 职场文书
家长对学校的意见和建议
2015/06/03 职场文书
红歌会主持词
2015/07/02 职场文书
vue-cil之axios的二次封装与proxy反向代理使用说明
2022/04/07 Vue.js
MySQL控制流函数(-if ,elseif,else,case...when)
2022/07/07 MySQL