详解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 相关文章推荐
jQuery EasyUI 的EasyLoader功能介绍
Sep 12 Javascript
javascript面向对象入门基础详细介绍
Sep 05 Javascript
jQuery向上遍历DOM树之parents(),parent(),closest()之间的区别
Dec 02 Javascript
jquery默认校验规则整理
Mar 24 Javascript
JS中处理时间之setUTCMinutes()方法的使用
Jun 12 Javascript
javascript瀑布流布局实现方法详解
Feb 17 Javascript
JavaScript算法系列之快速排序(Quicksort)算法实例详解
Sep 04 Javascript
JS中cookie的使用及缺点讲解
May 13 Javascript
vue-cli3脚手架的配置及使用教程
Aug 28 Javascript
前端防止用户重复提交js实现代码示例
Sep 07 Javascript
js中对象和面向对象与Json介绍
Jan 21 Javascript
Vue3项目打包后部署到服务器 请求不到后台接口解决方法
Feb 06 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 Mssql操作简单封装支持存储过程
2009/12/11 PHP
PHP中的array数组类型分析说明
2010/07/27 PHP
PHP代码优化之成员变量获取速度对比
2014/02/28 PHP
php结合ajax实现赞、顶、踩功能实例
2014/05/12 PHP
thinkphp使用literal防止模板标签被解析的方法
2014/11/22 PHP
Symfony2针对输入时间进行查询的方法分析
2017/06/28 PHP
Javascript 面向对象 继承
2010/05/13 Javascript
JQERY limittext 插件0.2版(长内容限制显示)
2010/08/27 Javascript
JavaScript日历实现代码
2010/09/12 Javascript
JavaScript关于提高网站性能的几点建议(一)
2016/07/24 Javascript
详解webpack+express多页站点开发
2017/12/22 Javascript
巧妙运用v-model实现父子组件传值的方法示例
2019/04/07 Javascript
vue分页器组件编写方法详解
2019/06/28 Javascript
vue样式穿透 ::v-deep的具体使用
2020/06/04 Javascript
Vue执行方法,方法获取data值,设置data值,方法传值操作
2020/08/05 Javascript
Python多线程实现同步的四种方式
2017/05/02 Python
Python3.6 Schedule模块定时任务(实例讲解)
2017/11/09 Python
Python方法的延迟加载的示例代码
2017/12/18 Python
利用python实现在微信群刷屏的方法
2019/02/21 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
2019/06/03 Python
Python3并发写文件与Python对比
2019/11/20 Python
pytorch 把图片数据转化成tensor的操作
2021/03/04 Python
世界闻名的衬衫制造商:Savile Row Company
2018/07/30 全球购物
俄罗斯领先的移动和数字设备在线商店:Svyaznoy.ru
2020/12/21 全球购物
学校介绍信范文
2014/01/14 职场文书
函授本科自我鉴定
2014/02/04 职场文书
表彰会主持词
2014/03/26 职场文书
常务副总经理岗位职责
2014/04/12 职场文书
工程材料采购方案
2014/05/18 职场文书
工商管理专业自荐信
2014/06/03 职场文书
生物学专业求职信
2014/07/23 职场文书
购房协议书范本(无房产证)
2014/10/07 职场文书
2016继续教育培训学习心得体会
2016/01/19 职场文书
创业计划书之面包店
2019/09/12 职场文书
SpringCloud Alibaba项目实战之nacos-server服务搭建过程
2021/06/21 Java/Android
openEuler 搭建java开发环境的详细过程
2022/06/10 Servers