详解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 相关文章推荐
web页面数据展示新想法(json)
Jun 08 Javascript
ExtJs Excel导出并下载IIS服务器端遇到的问题
Sep 16 Javascript
autoPlay 基于jquery的图片自动播放效果
Dec 07 Javascript
幻灯片带网页设计中的20个奇妙应用示例小结
May 27 Javascript
js window.open弹出新的网页窗口
Jan 16 Javascript
jquery 淡入淡出效果的简单实现
Feb 07 Javascript
js实现简单锁屏功能实例
May 27 Javascript
基于JavaScript实现添加到购物车效果附源码下载
Aug 22 Javascript
react-native之ART绘图方法详解
Aug 08 Javascript
ES6的Fetch异步请求的实现方法
Dec 07 Javascript
Vue.js结合bootstrap前端实现分页和排序效果
Dec 29 Javascript
Vue Render函数创建DOM节点代码实例
Jul 08 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
PHP4实际应用经验篇(7)
2006/10/09 PHP
PHP实现在数据库百万条数据中随机获取20条记录的方法
2017/04/19 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
2017/07/26 PHP
php两点地理坐标距离的计算方法
2018/12/29 PHP
JavaScript URL参数读取改进版
2009/01/16 Javascript
JQuery.Ajax之错误调试帮助信息介绍
2013/07/04 Javascript
JS获得图片alt信息的方法
2015/04/01 Javascript
jquery实现的省市区三级联动
2015/04/02 Javascript
AngularJS学习笔记之ng-options指令
2015/06/16 Javascript
javascript实现判断鼠标的状态
2015/07/10 Javascript
关于两个jQuery(js)特效冲突的bug的解决办法
2016/09/04 Javascript
JavaScript编写九九乘法表(两种任选)
2017/02/04 Javascript
JavaScript中this的用法及this在不同应用场景的作用解析
2017/04/13 Javascript
详解webpack打包后如何调试的方法步骤
2018/11/07 Javascript
小程序测试后台服务的方法(ngrok)
2019/03/08 Javascript
使用React代码动态生成栅格布局的方法
2020/05/24 Javascript
一行JavaScript代码如何实现瀑布流布局
2020/12/11 Javascript
python async with和async for的使用
2019/06/20 Python
PyTorch 普通卷积和空洞卷积实例
2020/01/07 Python
jupyter notebook 参数传递给shell命令行实例
2020/04/10 Python
python爬虫把url链接编码成gbk2312格式过程解析
2020/06/08 Python
python 列表推导和生成器表达式的使用
2021/02/01 Python
python解决OpenCV在读取显示图片的时候闪退的问题
2021/02/23 Python
CSS3实现的文本3D效果附图
2014/09/03 HTML / CSS
HTML5 本地存储实现购物车功能
2017/09/07 HTML / CSS
如何让IE9以下版本(ie6/7/8)认识html5元素
2013/04/01 HTML / CSS
UGG雪地靴德国官网:UGG德国
2016/11/19 全球购物
英国家居装饰品、户外家具和玻璃器皿购物网站:Rinkit.com
2019/11/04 全球购物
本科毕业生求职自荐信
2014/04/09 职场文书
社区戒毒工作方案
2014/06/04 职场文书
党的群众路线查摆剖析材料
2014/10/10 职场文书
意外死亡赔偿协议书
2014/10/14 职场文书
2015年高校辅导员工作总结
2015/04/20 职场文书
民事撤诉申请书范本
2015/05/18 职场文书
python使用pygame创建精灵Sprite
2021/04/06 Python
iPhone13将有八大升级
2021/04/15 数码科技