vue中$emit傳遞多個(gè)參(arguments和$event)
前言
使用 $emit 從子組件傳遞數(shù)據(jù)到父組件時(shí),主要有以下3類情況
1.只有子組件傳值(單個(gè)、多個(gè))
寫(xiě)法一:(自由式)
// child組件,在子組件中觸發(fā)事件 this.$emit('handleFather', '子參數(shù)1','子參數(shù)2','子參數(shù)3') // father組件,在父組件中引用子組件 <child @handleFather="handleFather"></child> <script> export default { components: { child, } methods: { handleFather(param1,param2,param3) { console.log(param) // } } } </script>
解析:
- 只有子組件傳值;
- 注意@引用函數(shù)不需要加“括號(hào)”;
- 子組件傳值和父組件方法的參數(shù)一一對(duì)應(yīng)。
寫(xiě)法二:(arguments寫(xiě)法)
// child組件,在子組件中觸發(fā)事件并傳多個(gè)參數(shù) this.$emit('handleFather', param1, param2,) //father組件,在父組件中引用子組件 <child @handleFather="handleFather(arguments)"></child> <script> export default { components: { child, } methods: { handleFather(param) { console.log(param[0]) //獲取param1的值 console.log(param[1]) //獲取param2的值 } } } </script>
解析:
- 只有子組件傳值;
- 注意@引用函數(shù)添加“arguments”值;
- 打印出子組件傳值的數(shù)組形式。
2.子組件傳值,父組件也傳值
寫(xiě)法一:
// child組件,在子組件中觸發(fā)事件 this.$emit('handleFather', '子參數(shù)對(duì)象') //father組件,在父組件中引用子組件 <child @handleFather="handleFather($event, fatherParam)"></child> <script> export default { components: { child, } methods: { handleFather(childObj, fatherParam) { console.log(childObj) // 打印子組件參數(shù)(對(duì)象) console.log(fatherParam) // 父組件參數(shù) } } } </script>
寫(xiě)法二:
// child組件,在子組件中觸發(fā)事件并傳多個(gè)參數(shù) this.$emit('handleFather', param1, param2,) //father組件,在父組件中引用子組件 <child @handleFather="handleFather(arguments, fatherParam)"></child> <script> ?export default { ? ?components: { ? ? child, ? ?} ? ?methods: { ? ? ?handleFather(childParam, fatherParam) { ? ? ? ? ?console.log(childParam) //獲取arguments數(shù)組參數(shù) ? ? ? ? ?console.log(fatherParam) //獲取fatherParam ? ? ?} ? ?} ?} </script>
總結(jié):
- 只有子組件傳參,@調(diào)用方法不使用“括號(hào)”
- 特殊使用“arguments”和“$event”,
- arguments 獲取子參數(shù)的數(shù)組
- $event 獲取自定義對(duì)象,滿足傳多個(gè)參數(shù)
到此這篇關(guān)于vue中$emit傳遞多個(gè)參(arguments和$event)的文章就介紹到這了,更多相關(guān)vue $emit傳遞多個(gè)參內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vuejs對(duì)象常用操作之取對(duì)應(yīng)的值、取key和value值、轉(zhuǎn)數(shù)組及合并等
最近在學(xué)Vue和javascript感覺(jué)js的好多方法都不太清楚,這里徹底總結(jié)下,這篇文章主要給大家介紹了關(guān)于Vuejs對(duì)象常用操作之取對(duì)應(yīng)的值、取key和value值、轉(zhuǎn)數(shù)組及合并等的相關(guān)資料,需要的朋友可以參考下2024-01-01vue多頁(yè)面項(xiàng)目中路由使用history模式的方法
這篇文章主要介紹了vue多頁(yè)面項(xiàng)目中路由如何使用history模式,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09vue-cli webpack 開(kāi)發(fā)環(huán)境跨域詳解
本篇文章主要介紹了vue-cli webpack 開(kāi)發(fā)環(huán)境跨域詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05VUE3中h()函數(shù)和createVNode()函數(shù)的使用解讀
這篇文章主要介紹了VUE3中h()函數(shù)和createVNode()函數(shù)的使用解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08vue 解決computed修改data數(shù)據(jù)的問(wèn)題
今天小編就為大家分享一篇vue 解決computed修改data數(shù)據(jù)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11Vue3如何解決Element-plus不生效的問(wèn)題
這篇文章主要介紹了Vue3如何解決Element-plus不生效的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03vue3動(dòng)態(tài)修改打包后的請(qǐng)求路徑的操作代碼
這篇文章主要介紹了vue3動(dòng)態(tài)修改打包后的請(qǐng)求路徑,需要我們創(chuàng)建一個(gè)靜態(tài)資源里的外部文件來(lái)實(shí)現(xiàn),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09Vue路由this.route.push跳轉(zhuǎn)頁(yè)面不刷新的解決方案
這篇文章主要介紹了Vue路由this.route.push跳轉(zhuǎn)頁(yè)面不刷新的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07