(十三)Vue3.x中的emits選項

本章節(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:明明知道闖一闖可能會拼出一片天地,那為什么還是有大部分的人選擇了平凡?

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容