vue中使用$emit传递多个参数的2种方法
1、$emit传递一个参数
子组件:
this.$emit('getData','111')
父组件:
<child @getData="getData"></child>
getData(data){ console.log(data) // '111' }
2、$emit传递多个参数
方法一:将要传的数据放到对象中,再将对象传给父组件
子组件:
let obj = { data1: '111', data2: '222' } this.$emit('getData',obj)
父组件:
<child @getData="getData"></child>
getData(data){ console.log(data) // {data1:'111',data2:'222'} }
方法二:直接传递多个参数
子组件:
this.$emit('getData','111','222')
父组件:
接收的时候要传 arguments 参数
<child @getData="getData(arguments)"></child>
getData(data){ console.log(data[0],data[1]) // '111' '222' }
补充知识:vue3 子组件用emit传递参数的同时,父组件也传递参数
vue父子组件可以通过emit进行传参,有些时候我们在子组件传参的同时,父组件也需要传参,比如v-for渲染的列表,可能要把索引当参数传递。那么我们怎么同时接收子组件参数和父组件参数呢?有以下两种方法。
一、子组件传出单个参数时
// 子组件 this.$emit('test',this.param) // 父组件 @test='test($event,parentParam)'
二、子组件传出多个参数时
// 子组件 this.$emit('test',this.param1,this.param2, this.param3) // 父组件 arguments 是以数组的形式传入 @test='test(arguments,parentParam)'
总结
到此这篇关于vue中使用$emit传递多个参数的2种方法的文章就介绍到这了,更多相关vue $emit传递多参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
在vue中使用express-mock搭建mock服务的方法
这篇文章主要介绍了在vue中使用express-mock搭建mock服务的方法,文中给大家提到了在vue-test-utils 中 mock 全局对象的相关知识 ,需要的朋友可以参考下2018-11-11element表格翻页第2页从1开始编号(后端从0开始分页)
这篇文章主要介绍了element表格翻页第2页从1开始编号(后端从0开始分页),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-12-12vue3.0报错Cannot find module‘worker_threads‘的解决办法
这篇文章介绍了vue3.0报错Cannot find module‘worker_threads‘的解决办法。对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2021-11-11
最新评论