详解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 相关文章推荐
javascript encodeURI和encodeURIComponent的比较
Apr 03 Javascript
用JS做的简单的可折叠的两级树形菜单
Sep 21 Javascript
Jquery取得iframe下内容的方法
Nov 18 Javascript
js获取某元素的class里面的css属性值代码
Jan 16 Javascript
JQuery导航菜单选择特效
Apr 11 Javascript
JS求解三元一次方程组值的方法
Jan 03 Javascript
如何用JS/HTML将时间戳转换为“xx天前”的形式
Feb 06 Javascript
Vue.js数据绑定之data属性
Jul 07 Javascript
jQuery Ajax向服务端传递数组参数值的实例代码
Sep 03 jQuery
vue实现二级导航栏效果
Oct 19 Javascript
原生js实现下拉选项卡
Nov 27 Javascript
24个解决实际问题的ES6代码片段(小结)
Feb 02 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
php实现ping
2006/10/09 PHP
ThinkPHP模板输出display用法分析
2014/11/26 PHP
简单介绍PHP的责任链编程模式
2015/08/11 PHP
php上传图片获取路径及给表单字段赋值的方法
2016/01/23 PHP
详解PHP中foreach的用法和实例
2016/10/25 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
phpcmsv9.0任意文件上传漏洞解析
2020/10/20 PHP
点击页面任何位置隐藏div的实现方法
2016/09/05 Javascript
JQuery.validationEngine表单验证插件(推荐)
2016/12/10 Javascript
浅谈regExp的test方法取得的值变化的原因及处理方法
2017/03/01 Javascript
整理关于Bootstrap列表组的慕课笔记
2017/03/29 Javascript
详解Vuejs2.0之异步跨域请求
2017/04/20 Javascript
微信小程序登录换取token的教程
2018/05/31 Javascript
JS实现动态生成html table表格的方法分析
2018/07/11 Javascript
JavaScript实现的拼图算法分析
2019/02/13 Javascript
element-ui中Table表格省市区合并单元格的方法实现
2019/08/07 Javascript
Layer+Echarts构建弹出层折线图的方法
2019/09/25 Javascript
Layui实现数据表格默认全部显示(不要分页)
2019/10/26 Javascript
Nodejs技巧之Exceljs表格操作用法示例
2019/11/06 NodeJs
Vue computed 计算属性代码实例
2020/04/22 Javascript
[03:12]2016完美“圣”典风云人物:单车专访
2016/12/02 DOTA
python杀死一个线程的方法
2015/09/06 Python
Python装饰器用法示例小结
2018/02/11 Python
Flask模拟实现CSRF攻击的方法
2018/07/24 Python
flask框架单元测试原理与用法实例分析
2019/07/23 Python
Python学习笔记之迭代器和生成器用法实例详解
2019/08/08 Python
详解Python3定时器任务代码
2019/09/23 Python
Django serializer优化类视图的实现示例
2020/07/16 Python
python Zmail模块简介与使用示例
2020/12/19 Python
HTML5中新标签和常用标签详解
2014/03/07 HTML / CSS
delegate与普通函数的区别
2014/01/22 面试题
小学语文课后反思精选
2014/04/25 职场文书
2014年计划生育工作总结
2014/11/14 职场文书
2015年个人现实表现材料
2014/12/10 职场文书
让人瞬间清醒的句子,句句经典,字字如金
2019/07/08 职场文书
Python语言内置数据类型
2022/02/24 Python