详解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 相关文章推荐
jQuery 页面载入进度条实现代码
Feb 08 Javascript
深入理解JavaScript系列(26):设计模式之构造函数模式详解
Mar 03 Javascript
微信小程序 wx:key详细介绍
Oct 28 Javascript
js面向对象编程总结
Feb 16 Javascript
vue.js语法及常用指令
Oct 29 Javascript
微信小程序自动客服功能
Nov 02 Javascript
基于javascript 显式转换与隐式转换(详解)
Dec 15 Javascript
详解在React中跨组件分发状态的三种方法
Aug 09 Javascript
JS 实现发送短信验证码的“59秒后重新发送验证短信”功能
Aug 23 Javascript
vue仿ios列表左划删除
Sep 26 Javascript
基于form-data请求格式详解
Oct 29 Javascript
jQuery 图片查看器插件 Viewer.js用法简单示例
Apr 04 jQuery
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四大安全策略
2014/03/12 PHP
PHP中对数组的一些常用的增、删、插操作函数总结
2015/11/27 PHP
利用php_imagick实现复古效果的方法
2016/10/18 PHP
PHP中OpenSSL加密问题整理
2017/12/14 PHP
让iframe框架网页在任何浏览器下自动伸缩
2006/08/18 Javascript
解决jquery操作checkbox火狐下第二次无法勾选问题
2014/02/10 Javascript
如何实现移动端浏览器不显示 pc 端的广告
2015/10/15 Javascript
jquery动态遍历Json对象的属性和值的方法
2016/07/27 Javascript
AngularJs  unit-testing(单元测试)详解
2016/09/02 Javascript
JS创建对象的写法示例
2016/11/04 Javascript
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
2016/12/15 Javascript
作为老司机使用 React 总结的 11 个经验教训
2017/04/08 Javascript
Angular2 组件通信的实例代码
2017/06/23 Javascript
jQuery+CSS实现的table表格行列转置功能示例
2018/01/08 jQuery
JS删除数组里的某个元素方法
2018/02/03 Javascript
jQuery实现图片上传预览效果功能完整实例【测试可用】
2018/05/28 jQuery
Vue自定义指令封装节流函数的方法示例
2018/07/09 Javascript
angularJs使用ng-repeat遍历后选中某一个的方法
2018/09/30 Javascript
JS基于对象的链表实现与使用方法示例
2019/01/31 Javascript
详解TypeScript+Vue 插件 vue-class-component的使用总结
2019/02/18 Javascript
vue项目创建步骤及路由router
2020/01/14 Javascript
vue prop传值类型检验方式
2020/07/30 Javascript
使用Python下载Bing图片(代码)
2013/11/07 Python
Python实现统计单词出现的个数
2015/05/28 Python
利用Python开发实现简单的记事本
2016/11/15 Python
使用Tensorboard工具查看Loss损失率
2020/02/15 Python
Django 实现对已存在的model进行更改
2020/03/28 Python
CSS3——齿轮转动关键代码
2013/05/02 HTML / CSS
英国珠宝钟表和家居礼品精品店:David Shuttle
2018/02/24 全球购物
劳动竞赛活动方案
2014/02/20 职场文书
借款担保书范文
2014/05/13 职场文书
广播体操比赛口号
2014/06/10 职场文书
社区党建工作汇报材料
2014/08/14 职场文书
家庭困难证明
2014/10/12 职场文书
领导干部失职检讨书
2015/05/05 职场文书
晚会主持人开场白台词
2015/05/28 职场文书