vue自定義事件

2021-10-19 20:45:48 字數 1128 閱讀 7708

父元件使用props傳遞資料給子元件,子元件怎麼跟父元件通訊呢?這時,vue的自定義事件就派上用場了。

子元件:

子元件通過$emit可以觸發事件,第乙個引數為要觸發的事件,第二個事件為要傳遞的資料

父元件:

父元件可以在使用子元件的地方直接用 v-on 來監聽子元件觸發的事件

它只是作為乙個編譯時的語法糖存在。它會被擴充套件為乙個自動更新父元件屬性的 v-on 偵聽器

會被擴充套件為:

bar = val">
當子元件需要更新 foo 的值時,它需要顯式地觸發乙個更新事件:

this.$emit('update:foo', newvalue)
因此,可以使用.sync來簡化自定義事件的操作,實現子元件向父元件的資料傳遞

上述**示例修改:

修改後:

自定義事件的命名約定與元件註冊及props的命名約定都不相同,由於自定義事件實質上也是屬於html的屬性,所以其在html模板中,最好使用中劃線形式

而子元件中觸發事件時,同樣使用中劃線形式

this.$emit('pass-data',this.childmsg)
文件

vue 中的自定義事件

Vue自定義事件

父元件使用props傳遞資料給子元件,子元件怎麼跟父元件通訊呢?這時,vue的自定義事件就派上用場了。本文將詳細介紹vue自定義事件 每個 vue 例項都實現了事件介面 events inte ce 即 使用 on eventname 監聽事件 使用 emit eventname 觸發事件 注意 v...

vue 自定義事件

vue中自定義的事件,不同於元件和props屬性,事件名沒有任何的大小寫轉換,觸發的事件必須完全匹配這個事件所用的名稱,所以在使用this.emit clicka data 時,clicka必須與定義的事件名一致 當引數為物件時,父元件接收時以及子元件傳參時,最好使用json.parse json....

Vue 自定義事件

我們知道,子元件通過 prop 來接收父元件傳遞的資料。但子元件怎麼跟父元件通訊呢?這個時候 vue 的自定義事件系統就派得上用場了。每個 vue 例項都實現了事件介面,即 vue 的事件系統與瀏覽器的 eventtarget api 有所不同。儘管它們執行起來類似,但是 on 和 emit 並不是...