1.vue-cli搭建好項(xiàng)目之后,使用npm安裝vue-bus
npm install vue-bus
2.在入口文件main.js中全局注冊
import Vue from 'vue'; import VueBus from 'vue-bus'; Vue.use(VueBus);
3.傳遞數(shù)據(jù):
this.$bus.emit("eventName",data)4.接收數(shù)據(jù):
this.$bus.on("eventName",data)5.注意事項(xiàng)
this的作用域要指向當(dāng)前的vm實(shí)例,on監(jiān)聽事件一般放在組件生命周期函數(shù)中的created或者mounted中,注銷bus需要在beforeDestroy中;
關(guān)于bus事件觸發(fā)多次的問題,一方面可能因?yàn)関ue組件被復(fù)用,導(dǎo)致一個(gè)bus事件被重復(fù)注冊,破壞了“同事件名”bus,發(fā)送與接收唯一對(duì)應(yīng)的關(guān)系;
另一方面是頁面路由的時(shí)候,原有頁面中的bus事件并沒有被注銷,依然隱藏在程序中。
總結(jié)
以上所述是小編給大家介紹的vue bus全局事件中心簡單Demo詳解,希望對(duì)大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)錯(cuò)新站長站網(wǎng)站的支持!
新聞熱點(diǎn)
疑難解答
圖片精選