欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

vue emit和dispatch

呂致盈1年前10瀏覽0評論

在Vue.js中,我們可以使用emit和dispatch兩種方法實現組件之間的通信。

在Vue.js中,每個組件都包含一個名為vm.$emit的方法。這個方法用于觸發一個事件,并可傳遞一些參數。我們可以在任何一個組件的模板中調用該方法,從而向其所有父級組件觸發一個自定義事件。

// 父組件模板
<template> 
<child-component @custom-event="handleCustomEvent"></child-component>
</template>
// 子組件模板
<template>
<button @click="$emit('custom-event', '參數一', '參數二')">點擊觸發自定義事件</button>
</template>
// 父組件方法
methods: {
handleCustomEvent(param1, param2) {
console.log(param1, param2); // 輸出 "參數一" "參數二"
}
}

在上面的例子中,當子組件中的自定義事件被觸發后,會向父組件派發一個事件,父組件中的handleCustomEvent方法會被執行,并且會傳遞事件的參數。

另一個實現組件間通信的方法是dispatch。dispatch方法是用于向指定組件的父級或者根組件觸發一個事件。在組件內部,我們可以使用vm.$dispatch方法從子組件中派發一個事件,向其父級或祖先級組件傳遞一個消息。

// 父組件模板
<template> 
<child-component></child-component>
</template>
// 子組件模板
<template>
<button @click="$dispatch('my-event', '參數')">點擊觸發事件</button>
</template>
// 父組件模板
<template>
<child-component @my-event="handleMyEvent"></child-component>
</template>
// 父組件方法
methods: {
handleMyEvent(param) {
console.log(param); // 輸出 "參數"
}
}

在上面的例子中,當子組件中的觸發事件被觸發后,父組件中的handleMyEvent方法會被執行,并且會接收到事件的參數。

emit和dispatch方法都是Vue.js提供的實現組件間通信的常用方法。在實際開發中,我們根據具體的場景選擇使用哪一種方法進行組件的通信。