详解Vue中组件传值的多重实现方式


Posted in Javascript onAugust 16, 2019

vue中组件传值方式整理

1.我们最熟悉的父子组件传值

父->子 props
 子->父 $emit

这些我们最常用的就不说了,如果有不理解的,俺这儿有篇不错的文章,链接奉上~

https://www.cnblogs.com/LoveAndPeace/p/7273648.html

2.兄弟组件或无关系组件之间的传值

我们最常用的方式采用一个第三方变量 俗称eventbus
  通过其中一个$emit发另一个$on接收的方式 实现组件传值
  
  main.js中挂载一下

详解Vue中组件传值的多重实现方式

在其中一个页面$emit

详解Vue中组件传值的多重实现方式

另一个页面$on

详解Vue中组件传值的多重实现方式

是不是有点像昨天我写的pubsub呢?哈哈哈哈哈

3.attr和listener进行传值(注意,这两种只能向下传递)

父组件里的子组件上写上你要传递的键名键值,

详解Vue中组件传值的多重实现方式

子组件里通过{{$attrs}}拿到你所有传递的值

详解Vue中组件传值的多重实现方式

这样直接就拿到了,是不是很神奇~

效果:

详解Vue中组件传值的多重实现方式

子组件里通过{{$attrs}}拿到你所有传递的值

子组件下边还有组件 可以用v-bind:"$attrs"传递,在孙子组件中通过{{$attrs}}

详解Vue中组件传值的多重实现方式

listener用来传递事件,用法大致一个样

详解Vue中组件传值的多重实现方式

我们设置一个点击事件

在子元素中↓我们console下,看看拿到没有

详解Vue中组件传值的多重实现方式

详解Vue中组件传值的多重实现方式

再笼统的概述下
  vue中 listeners事件传递
父组件里的子组件上写个函数 比如@log="log",在当前页的methods:{}里对应上执行的语句
子组件触发的话里写个触发事件,如click="aaa" 
methods写法:
methods:{
 aaa(){
  this.$listeners.你父组件的那个方法 这里是this.$listeners.log()调用
 }
}

子组件下还有组件的话 用v-on:"$listeners"再往下传
下面继续用子组件获取的方法获取

4.采用ref的方式 有点react父传子的亚子

but!也不太一样 ,在你父组件引入的子组件上写个ref="xxx",你父组件便拿到了一系列子组件的东西,比如数据,事件等↓

详解Vue中组件传值的多重实现方式

详解Vue中组件传值的多重实现方式

5.用vuex 就不用说了吧 数据集中起来,每个页面值都能相互拿到

state里设置值

通过stor.state.值拿到值

通过commit 或者dispatch往mutations和actions里提交可以做数据对应处理等等....

6.通过provide设置,inject取值但是这种方式不建议用

举个栗子:

详解Vue中组件传值的多重实现方式

另一个组件

详解Vue中组件传值的多重实现方式

搞定~ 这是整理的一些组件传值的方法,初来乍到许多写文的格式不太会调,大家凑合看

总结

以上所述是小编给大家介绍的Vue中组件传值的多重实现方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
js利用数组length属性清空和截短数组的小例子
Jan 15 Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
May 12 Javascript
javascript 自定义回调函数示例代码
Sep 26 Javascript
jQuery中DOM操作实例分析
Jan 23 Javascript
Angularjs编写KindEditor,UEidtor,jQuery指令
Jan 28 Javascript
js实现数组冒泡排序、快速排序原理
Mar 08 Javascript
JavaScript实现图片轮播组件代码示例
Nov 22 Javascript
JavaScript轮播图简单制作方法
Feb 20 Javascript
浅谈Vue.js 1.x 和 2.x 实例的生命周期
Jul 25 Javascript
jQuery实现table表格信息的展开和缩小功能示例
Jul 21 jQuery
详解element-ui表格中勾选checkbox,高亮当前行
Sep 02 Javascript
js实现随机圆与矩形功能
Oct 29 Javascript
详解vue+axios给开发环境和生产环境配置不同的接口地址
Aug 16 #Javascript
JavaScript JSON数据处理全集(小结)
Aug 15 #Javascript
JointJS JavaScript流程图绘制框架解析
Aug 15 #Javascript
基于vue写一个全局Message组件的实现
Aug 15 #Javascript
vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信
Aug 15 #Javascript
解决vuex刷新状态初始化的方法实现
Aug 15 #Javascript
超详细的5个Shell脚本实例分享(值得收藏)
Aug 15 #Javascript
You might like
PHP速成大法
2015/01/30 PHP
WordPress中用于创建以及获取侧边栏的PHP函数讲解
2015/12/29 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
33个优秀的 jQuery 图片展示插件分享
2012/03/14 Javascript
window.open以post方式将内容提交到新窗口
2012/12/26 Javascript
一个简单的Node.js异步操作管理器分享
2014/04/29 Javascript
JavaScript实现查找字符串中第一个不重复的字符
2014/12/29 Javascript
Webpack 实现 AngularJS 的延迟加载
2016/03/02 Javascript
整理JavaScript对DOM中各种类型的元素的常用操作
2016/05/05 Javascript
jQuery插件之validation插件
2017/03/29 jQuery
从零开始学习Node.js系列教程之基于connect和express框架的多页面实现数学运算示例
2017/04/13 Javascript
js 开发之autocomplete="off"在chrom中失效的解决办法
2017/09/28 Javascript
详解使用React进行组件库开发
2018/02/06 Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
2018/09/03 jQuery
小程序server请求微信服务器超时的解决方法
2019/05/21 Javascript
微信小程序实现折线图的示例代码
2019/06/07 Javascript
JS常用正则表达式超全集(密码强度校验,金额校验,IE版本,IPv4,IPv6校验)
2020/02/03 Javascript
Vue打包部署到Nginx时,css样式不生效的解决方式
2020/08/03 Javascript
用Python实现QQ游戏大家来找茬辅助工具
2014/09/14 Python
Python实现的一个简单LRU cache
2014/09/26 Python
详解Python中expandtabs()方法的使用
2015/05/18 Python
python简单获取数组元素个数的方法
2015/07/13 Python
python Pygame的具体使用讲解
2017/11/03 Python
python基于twisted框架编写简单聊天室
2018/01/02 Python
Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析
2019/08/13 Python
Keras实现DenseNet结构操作
2020/07/06 Python
如何在Python3中使用telnetlib模块连接网络设备
2020/09/21 Python
python 基于opencv操作摄像头
2020/12/24 Python
加拿大女包品牌:Matt & Nat
2017/05/12 全球购物
Booking.com荷兰:全球酒店网上预订
2017/08/22 全球购物
超级英雄、电影和电视、乐队和音乐T恤:Loud Clothing
2019/09/01 全球购物
2014年小班元旦活动方案
2014/02/16 职场文书
人民调解员先进事迹材料
2014/05/08 职场文书
初中信息技术教学反思
2016/02/16 职场文书
Python tensorflow卷积神经Inception V3网络结构
2022/05/06 Python
Spring Boot实现文件上传下载
2022/08/14 Java/Android