详解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 相关文章推荐
DOM相关内容速查手册
Feb 07 Javascript
广告代码静态化js通用函数
May 09 Javascript
JS实现图片无间断滚动代码汇总
Jul 30 Javascript
JavaScript使用pop方法移除数组最后一个元素用法实例
Apr 06 Javascript
require简单实现单页应用程序(SPA)
Jul 12 Javascript
通俗解释JavaScript正则表达式快速记忆
Aug 23 Javascript
jQuery实现的粘性滚动导航栏效果实例【附源码下载】
Oct 19 jQuery
bootstrap fileinput插件实现预览上传照片功能
Jan 23 Javascript
vue-cli+webpack项目 修改项目名称的方法
Feb 28 Javascript
layer弹出层显示在top顶层的方法
Sep 11 Javascript
微信小程序实现滑动翻页效果(完整代码)
Dec 06 Javascript
vue实现移动端返回顶部
Oct 12 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 读取Postgresql中的数组
2013/04/14 PHP
PHP根据IP判断地区名信息的示例代码
2014/03/03 PHP
jquery-easyui关闭tab自动切换到前一个tab
2010/07/29 Javascript
javascript面向对象之二 命名空间
2011/02/08 Javascript
jQuery中调用WebService方法小结
2011/03/28 Javascript
JQuery动画与特效实例分析
2015/02/02 Javascript
jQuery源码解读之removeClass()方法分析
2015/02/20 Javascript
jQuery鼠标经过方形图片切换成圆边效果代码分享
2015/08/20 Javascript
js实现点击向下展开的下拉菜单效果代码
2015/09/01 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
2016/02/04 Javascript
Node.js Express 框架 POST方法详解
2017/01/23 Javascript
Vue 去除路径中的#号
2018/04/19 Javascript
JS实现求5的阶乘示例
2019/01/21 Javascript
JavaScript实现的九种排序算法
2019/03/04 Javascript
浅谈layui 绑定form submit提交表单的注意事项
2019/10/25 Javascript
微信小程序wxml列表渲染原理解析
2019/11/27 Javascript
详解javascript void(0)
2020/07/13 Javascript
python用字典统计单词或汉字词个数示例
2014/04/22 Python
跟老齐学Python之网站的结构
2014/10/24 Python
在Django框架中伪造捕捉到的URLconf值的方法
2015/07/18 Python
利用python批量检查网站的可用性
2016/09/09 Python
Python实现的简单读写csv文件操作示例
2018/07/12 Python
python 在屏幕上逐字显示一行字的实例
2018/12/24 Python
python异步编程 使用yield from过程解析
2019/09/25 Python
python网络爬虫 CrawlSpider使用详解
2019/09/27 Python
CSS3径向渐变之大鱼吃小鱼之孤单的大鱼
2016/04/26 HTML / CSS
HTML5操作WebSQL数据库的实例代码
2017/08/26 HTML / CSS
Martinelli官方商店:西班牙皮鞋和高跟鞋品牌
2019/07/30 全球购物
意大利折扣和优惠券网站:Groupalia
2019/10/09 全球购物
新闻报道策划方案
2014/06/11 职场文书
学生干部培训方案
2014/06/12 职场文书
护士年终个人总结
2015/02/13 职场文书
元宵节晚会主持词
2015/07/01 职场文书
Html5生成验证码的示例代码
2021/05/10 Javascript
OpenCV全景图像拼接的实现示例
2021/06/05 Python
分析MySQL优化 index merge 后引起的死锁
2022/04/19 MySQL