本章節(jié)將介紹到的是用于記錄當前實例中的emit事件的選項。
1、概述:當前組件的通過emit的事件列表
2、類型:Array|Object
3、作用:Vue3.0中使用emit發(fā)起事件時會要求當前組件記錄emit事件(沒有則控制臺會拋出警告)。
4、用途:用于記錄當前組件emit的事件,當為對象時,則可以驗證傳入的值是否有效。
setup(prop, { emit }) {
const changeOne = val => {
emit('on-changeOne', val);
};
const changeTwo = val => {
emit('on-changeTwo', val);
};
}
用法一:數組用法
export default {
emits:['on-changeOne', 'on-changeTwo'],
setup() {...}
}
用法二:對象用法,當emits為對象時,可以驗證事件中的參數是否有效
export default {
emits:{
click: null,
'on-changeOne': payload => {
if(...) {
return true; // 驗證通過
}
console.warn('驗證失??!')
return false; // 驗證失敗,控制臺打印vue警告及“驗證失敗!”警告
},
'on-changeTwo': payload => {...}
},
setup() {...}
}
// 當驗證函數中沒有返回值return時,默認返回true
注意:emits無論是數組或者對象用法最終都會將事件給傳遞出去,數組或對象的使用只是為了記錄實例中的emit事件,或者是驗證事件中的參數。
下一章:(十四)Vue3.x核心之getCurrentInstance
上一章:(十二)Vue3.x中重寫的v-model
ps:明明知道闖一闖可能會拼出一片天地,那為什么還是有大部分的人選擇了平凡?