vue中使用$emit傳遞多個參數(shù)的2種方法
1、$emit傳遞一個參數(shù)
子組件:
this.$emit('getData','111')
父組件:
<child @getData="getData"></child>
getData(data){ console.log(data) // '111' }
2、$emit傳遞多個參數(shù)
方法一:將要傳的數(shù)據(jù)放到對象中,再將對象傳給父組件
子組件:
let obj = { data1: '111', data2: '222' } this.$emit('getData',obj)
父組件:
<child @getData="getData"></child>
getData(data){ console.log(data) // {data1:'111',data2:'222'} }
方法二:直接傳遞多個參數(shù)
子組件:
this.$emit('getData','111','222')
父組件:
接收的時候要傳 arguments 參數(shù)
<child @getData="getData(arguments)"></child>
getData(data){ console.log(data[0],data[1]) // '111' '222' }
補(bǔ)充知識:vue3 子組件用emit傳遞參數(shù)的同時,父組件也傳遞參數(shù)
vue父子組件可以通過emit進(jìn)行傳參,有些時候我們在子組件傳參的同時,父組件也需要傳參,比如v-for渲染的列表,可能要把索引當(dāng)參數(shù)傳遞。那么我們怎么同時接收子組件參數(shù)和父組件參數(shù)呢?有以下兩種方法。
一、子組件傳出單個參數(shù)時
// 子組件 this.$emit('test',this.param) // 父組件 @test='test($event,parentParam)'
二、子組件傳出多個參數(shù)時
// 子組件 this.$emit('test',this.param1,this.param2, this.param3) // 父組件 arguments 是以數(shù)組的形式傳入 @test='test(arguments,parentParam)'
總結(jié)
到此這篇關(guān)于vue中使用$emit傳遞多個參數(shù)的2種方法的文章就介紹到這了,更多相關(guān)vue $emit傳遞多參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用elementUI實現(xiàn)將圖片上傳到本地的示例
今天小編就為大家分享一篇使用elementUI實現(xiàn)將圖片上傳到本地的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09Vue公共loading升級版解決思路(處理并發(fā)異步差時響應(yīng))
這篇文章主要介紹了Vue公共loading升級版(處理并發(fā)異步差時響應(yīng)),解決思路是通過定義一個全局對象來存儲每個接口的響應(yīng)狀態(tài),直到每個請求接口都收到響應(yīng)才變更狀態(tài),結(jié)束loading動畫,需要的朋友可以參考下2023-11-11基于vue-router的matched實現(xiàn)面包屑功能
本文主要介紹了基于vue-router的matched實現(xiàn)面包屑功能,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09詳解解決使用axios發(fā)送json后臺接收不到的問題
這篇文章主要介紹了詳解解決使用axios發(fā)送json后臺接收不到的問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06關(guān)于eslint和prettier格式化沖突問題
這篇文章主要介紹了eslint和prettier格式化沖突問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-08-08