vue自定義事件

2022-02-25 13:34:28 字數 1994 閱讀 5645

doctype html

>

<

html

lang

="en"

>

<

head

>

<

meta

charset

="utf-8"

>

<

meta

name

="viewport"

content

="width=, initial-scale=1.0"

>

<

script

crossorigin

="anonymous"

integrity

="sha512-bkbsr+cfyxldmase0nalrefslg8/pjbgfxhh/k/kuc82hy7r6htr5hlhobaln2gctvzkyyehrdredjpsqwy2jw=="

src=""

>

script

>

<

title

>document

title

>

head

>

<

body

>

<

div

id>

<

one>

<

two

slot

="first"

:name

="username"

>

two>

<

three

slot

="second"

:age

="a"

:index

="index"

v-for

="(a,index) in allages"

v-on:removesingle

="removeage(index)"

>

three

>

one>

div>

<

script

>

//one 元件

vue.component(

"one

",);

//two 元件

vue.component(

"two",}

'})//three 元件

vue.component(

"three

",}-------} 刪除',

methods: }})

varvm

=new

vue(,

methods:

}});

script

>

body

>

html

>

效果圖:

解釋下上面的**吧:

首先我們希望是點選刪除按鈕,對應的資料能夠被刪除掉。

要知道的是,我們點選刪除按鈕觸發的函式只能在元件的methods方法裡的,而不能直接調vue物件的methods方法,所以只能通過中間的元件元素來幫助過渡。

vue的methods方法可以直接獲取到data中的資料,對它進行刪除操作,又由於雙向繫結,view層 的資料也會發生變化,這個也是我們想要的效果;但問題就是我們如何通過點選元件的刪除按鈕觸發remove函式,在remove函式中如何去呼叫vue例項的removeage函式呢?這個時候就要用到自定義事件了,首先我們使用v-on繫結乙個自定義的事件,當觸發該事件時我們就可以呼叫removeage函式了,那這個事件要怎麼觸發呢?我們只要在remove函式中加上this.$emit('removesingle',index),就代表觸發了removesingle事件,第二個引數是傳給removesingle事件對應觸發的removeage函式的引數。

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 並不是...