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