Vue3.0新特性----emits選項

emits

  • 官方文檔傳送門
  • Vue官方建議我們在組件中所有的emit事件都能在組件的emits選項中聲明
  • emits參數(shù)有倆種形式對象和數(shù)組蓖康,對象里面可以配置帶校驗emit事件飒焦,為null的時候代表不校驗停局,校驗的時候寞肖,會把emit事件的參數(shù)傳到校驗函數(shù)的參數(shù)里面
  • 當(dāng)校驗函數(shù)不通過的時候矢洲,控制臺會輸出一個警告率拒,但是emit事件會繼續(xù)執(zhí)行
  • 記錄一個坑:比如你emit事件的名稱正好和原生事件的名字重復(fù)了茶敏,那么這個事件會執(zhí)行倆次下硕,那么配置了emits這個選項的話玉工,就能很好的解決這個問題羽资,下去自己實驗一下,這篇文章中不做演示
我們看一下帶校驗不帶校驗的emit事件一個例子

子組件Emiter.vue

<template>
  <button @click="handleClick">點擊emit-click事件</button>
  <button @click="handleOpen">點擊emit-open事件</button>
</template>
<script lang="ts">
import {defineComponent} from "vue";
export default defineComponent({
  emits: {
    click: null,//click事件沒有檢驗
    open: (value) => {
      if (typeof value === "string") {
        return true;
      } else {
        return false;
      }
    },
  },
  setup(props, {emit}) {
    const handleClick = function() {
      emit("click");
    };
    const handleOpen = function() {
      emit("open", 1);
    };
    return {
      handleClick,
      handleOpen,
    };
  },
  data() {
    return {};
  },
  methods: {},
});
</script>
<style scoped></style>

父組件Emit.vue

<template>
  <emiter @click="onClick" @open="onOpen"></emiter>
</template>
<script lang="ts">
import {defineComponent} from "vue";
import Emiter from "@/components/Emiter.vue";
export default defineComponent({
  components: {
    Emiter,
  },
  data() {
    return {};
  },
  methods: {
    onClick() {
      console.log("click me!");
    },
    onOpen() {
      console.log("open me!");
    },
  },
});
</script>
<style scoped></style>
看一下結(jié)果遵班,控制臺輸出警告信息
image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末屠升,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子狭郑,更是在濱河造成了極大的恐慌腹暖,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件翰萨,死亡現(xiàn)場離奇詭異脏答,居然都是意外死亡,警方通過查閱死者的電腦和手機亩鬼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門殖告,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人雳锋,你說我怎么就攤上這事黄绩。” “怎么了玷过?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵宝与,是天一觀的道長。 經(jīng)常有香客問我冶匹,道長,這世上最難降的妖魔是什么咆瘟? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任嚼隘,我火速辦了婚禮,結(jié)果婚禮上袒餐,老公的妹妹穿的比我還像新娘飞蛹。我一直安慰自己,他們只是感情好灸眼,可當(dāng)我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布卧檐。 她就那樣靜靜地躺著,像睡著了一般焰宣。 火紅的嫁衣襯著肌膚如雪霉囚。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天匕积,我揣著相機與錄音盈罐,去河邊找鬼榜跌。 笑死,一個胖子當(dāng)著我的面吹牛盅粪,可吹牛的內(nèi)容都是我干的钓葫。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼票顾,長吁一口氣:“原來是場噩夢啊……” “哼础浮!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起奠骄,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤豆同,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后戚揭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體诱告,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年民晒,在試婚紗的時候發(fā)現(xiàn)自己被綠了精居。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡潜必,死狀恐怖靴姿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情磁滚,我是刑警寧澤佛吓,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站垂攘,受9級特大地震影響维雇,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜晒他,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一吱型、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧陨仅,春花似錦津滞、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至狐赡,卻和暖如春撞鹉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工孔祸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留隆敢,地道東北人。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓崔慧,卻偏偏與公主長得像拂蝎,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子惶室,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容