場景分析:
子組件內容通過$emit派發的事件並帶有參數傳遞,然後父組件中監聽該事件時,該事件的處理方法需要同時獲取組件外面傳進來的參數
舉個粟子
在MyButton中監聽按鈕點擊並傳遞參數
<template>
<div class="tag-input-wrapper">
<button @click="btnClick"/>
</div>
</template>
methods: {
btnClick() {
this.$emit('clickBtn', "子組件參數")
}
}
在父組件調用MyButton組件時也傳遞一個參數,並傳入arguments
<my-button @clickBtn="myBtnClick('父組件參數', arguments)"></my-button>
我們先看一下arguments在控制檯的打印
methods: {
myBtnClick() {
console.log(arguments)
const fatherArgs = arguments[0] // 父組件參數
const sonArgs = arguments[1][0] // 子組件參數
}
}
後文
可能方法不止這一種,筆者只是覺得此方法比較好理解