本章節(jié)將介紹到的是用于記錄當(dāng)前實(shí)例中的emit事件的選項(xiàng)。
1、概述:當(dāng)前組件的通過emit的事件列表
2、類型:Array|Object
3轧抗、作用:Vue3.0中使用emit發(fā)起事件時會要求當(dāng)前組件記錄emit事件(沒有則控制臺會拋出警告)。
4瞬测、用途:用于記錄當(dāng)前組件emit的事件横媚,當(dāng)為對象時,則可以驗(yàn)證傳入的值是否有效月趟。
setup(prop, { emit }) {
const changeOne = val => {
emit('on-changeOne', val);
};
const changeTwo = val => {
emit('on-changeTwo', val);
};
}
用法一:數(shù)組用法
export default {
emits:['on-changeOne', 'on-changeTwo'],
setup() {...}
}
用法二:對象用法灯蝴,當(dāng)emits為對象時,可以驗(yàn)證事件中的參數(shù)是否有效
export default {
emits:{
click: null,
'on-changeOne': payload => {
if(...) {
return true; // 驗(yàn)證通過
}
console.warn('驗(yàn)證失斒ǘ贰绽乔!')
return false; // 驗(yàn)證失敗,控制臺打印vue警告及“驗(yàn)證失斕及!”警告
},
'on-changeTwo': payload => {...}
},
setup() {...}
}
// 當(dāng)驗(yàn)證函數(shù)中沒有返回值return時看疗,默認(rèn)返回true
注意:emits無論是數(shù)組或者對象用法最終都會將事件給傳遞出去沙峻,數(shù)組或?qū)ο蟮氖褂弥皇菫榱擞涗泴?shí)例中的emit事件,或者是驗(yàn)證事件中的參數(shù)两芳。
下一章:(十四)Vue3.x核心之getCurrentInstance
上一章:(十二)Vue3.x中重寫的v-model
ps:明明知道闖一闖可能會拼出一片天地摔寨,那為什么還是有大部分的人選擇了平凡?