详解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 输入框内容格式验证代码
Feb 11 Javascript
基于jquery的弹出提示框始终处于窗口的居中位置(类似于alert弹出框的效果)
Sep 28 Javascript
33个优秀的 jQuery 图片展示插件分享
Mar 14 Javascript
了解一点js的Eval函数
Jul 26 Javascript
jquery实现网站超链接和图片提示效果
Mar 21 Javascript
div模拟选择框示例代码
Nov 03 Javascript
jQuery经过一段时间自动隐藏指定元素的方法
Mar 17 Javascript
AngularJS基础 ng-repeat 指令简单示例
Aug 03 Javascript
JS 动态加载js文件和css文件 同步/异步的两种简单方式
Sep 23 Javascript
Angular ng-repeat遍历渲染完页面后执行其他操作详细介绍
Dec 13 Javascript
解决vue build打包之后首页白屏的问题
Mar 06 Javascript
JavaScript常用事件介绍
Jan 21 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
Function eregi is deprecated (解决方法)
2013/06/21 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
2016/09/11 PHP
php 访问oracle 存储过程实例详解
2017/01/08 PHP
PHP 7安装使用体验之性能大提升,兼容性强,扩展支持不够(升级PHP要谨慎)
2017/07/27 PHP
JQuery在光标位置插入内容的实现代码
2010/06/18 Javascript
最新28个很棒的jQuery 教程
2011/05/28 Javascript
Javascript中3种实现继承的方法和代码实例
2014/08/12 Javascript
jQuery中Ajax的load方法详解
2015/01/14 Javascript
JS实现点击按钮获取页面高度的方法
2015/11/02 Javascript
javascript实现任务栏消息提示的简单实例
2016/05/31 Javascript
AngularJS 应用身份认证的技巧总结
2016/11/07 Javascript
使用微信小程序开发前端【快速入门】
2016/12/05 Javascript
详解axios 全攻略之基本介绍与使用(GET 与 POST)
2017/09/15 Javascript
使用node.JS中的url模块解析URL信息
2020/02/06 Javascript
简单了解常用的JavaScript 库
2020/07/16 Javascript
python使用xlrd实现检索excel中某列含有指定字符串记录的方法
2015/05/09 Python
Python安装使用命令行交互模块pexpect的基础教程
2016/05/12 Python
简单谈谈Python中的反转字符串问题
2016/10/24 Python
详解python脚本自动生成需要文件实例代码
2017/02/04 Python
在python3.5中使用OpenCV的实例讲解
2018/04/02 Python
浅谈pytorch和Numpy的区别以及相互转换方法
2018/07/26 Python
python实现一行输入多个值和一行输出多个值的例子
2019/07/16 Python
Windows系统Python直接调用C++ DLL的方法
2019/08/01 Python
Python3实现二叉树的最大深度
2019/09/30 Python
python多进程重复加载的解决方式
2019/12/13 Python
使用 Python 遍历目录树的方法
2020/02/29 Python
浅析Django 接收所有文件,前端展示文件(包括视频,文件,图片)ajax请求
2020/03/09 Python
Python使用socketServer包搭建简易服务器过程详解
2020/06/12 Python
python3.4中清屏的处理方法
2020/07/06 Python
HTML5是什么 HTML5是什么意思 HTML5简介
2012/10/26 HTML / CSS
慰问敬老院活动总结
2014/04/26 职场文书
安全生产演讲稿
2014/05/09 职场文书
失职检讨书大全
2015/01/26 职场文书
爱牙日宣传活动总结
2015/02/05 职场文书
开除员工通知
2015/04/22 职场文书
2015年银行个人工作总结
2015/05/14 职场文书