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

vue eventbus 父子

Vue.js是一個(gè)流行的JavaScript框架,可以輕松實(shí)現(xiàn)響應(yīng)式和視圖驅(qū)動(dòng)的Web應(yīng)用程序。Vue中有一個(gè)非常方便的特性叫做事件總線(event bus),它可以輕松在不同的組件之間傳遞數(shù)據(jù)和通信。

在Vue中使用事件總線非常簡(jiǎn)單,我們可以在Vue實(shí)例中創(chuàng)建一個(gè)EventBus:

// main.js
import Vue from 'vue'
export const EventBus = new Vue()

之后,在需要通信的組件中,我們可以在Vue實(shí)例中引用EventBus:

// ComponentA.vue
import { EventBus } from '@/main.js'
export default {
methods: {
handleClick() {
EventBus.$emit('custom-event', 'hello from component A')
}
}
}

在上面的代碼中,當(dāng)我們?cè)贑omponentA組件中調(diào)用handleClick方法時(shí),會(huì)通過(guò)EventBus向外發(fā)射一個(gè)名為“custom-event”的自定義事件,并傳遞一個(gè)字符串“hello from component A”。

然后在另一個(gè)組件中,我們可以監(jiān)聽(tīng)這個(gè)自定義事件,如下所示:

// ComponentB.vue
import { EventBus } from '@/main.js'
export default {
created() {
EventBus.$on('custom-event', (message) =>{
console.log(message) // hello from component A
})
}
}

在上面的代碼中,我們?cè)贑omponentB組件的created鉤子中監(jiān)聽(tīng)了“custom-event”事件,并在回調(diào)函數(shù)中打印了接收到的消息。

通過(guò)這種方式,我們就可以在Vue應(yīng)用程序中的任何組件間傳遞數(shù)據(jù)和通信,非常方便。但是需要注意的是,在組件銷(xiāo)毀之前,我們需要使用.$off(eventName)取消監(jiān)聽(tīng)自定義事件,以免出現(xiàn)內(nèi)存泄漏。