亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺談vue中$bus的使用和涉及到的問題

 更新時間:2020年07月28日 14:27:25   作者:Liingot  
這篇文章主要介紹了淺談vue中$bus的使用和涉及到的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

Hello大家周末好,最近項目比較忙所以沒有及時的更新抱歉,今天給大家講一vue.bus。使用過的都知道$bus是兄弟之間相互傳值的項目中說實話用的地方不算多但是也會用到(每一個領域都是會有坑的呀)。

1:創(chuàng)建$bus文件

創(chuàng)建一個文件內容如下:

import Vue from 'vue'

export default new Vue();

2:引入$bus

main.js: import Bus from './views/bus/bus';

Vue.prototype.$bus = Bus; //注意這里的Vue是我上面引入的vue import Vue from 'vue'

3:使用傳值

this.$bus.$emit("vaPage",value); //很像父子之間傳值的方法

4:接收

 this.$bus.$on("vaPage", v =>{ //vaPage傳的時候的key是什么接收就必須是什么
  console.log(v); //v是傳來的值,可以接收多個參數(shù)
 })

5:填坑之路

大家假設一下一個場景現(xiàn)在有3個組件分別是A(父組件),B(子組件),C(子組件)

這時候B,C之間的通信就可以用$bus了,比如我在B中進行了操作然后要刷新自己和C組件的dom咱們就可以通過this.$bus.$emit(key,value); 然后C接受this.$bus.$on("key",v=>{});可以在這個組件調用方法什么的你在這里調用方法的時候會發(fā)現(xiàn)我只寫了一次調用初始化的函數(shù)為啥會調用多少而且不刷新頁面的時候越來越多,這是需要使用到咱們的生命周期函數(shù)beforDestroy在當前組件銷毀的時候注銷這個$bus的方法:beforDestroy(){this.$bus.$off("val")//關閉$Bus}.

6:總結

使用$bus的時候在接受bus的組件中別忘了再beforDestroy函數(shù)中銷毀bus,不銷毀的話會一直疊加的調用這個方法:

beforDestroy(){
   this.$bus.$off("vaPage"); //當這個組件銷毀的時候bus也跟著一起銷毀
  }

補充知識:vue-bus中央事件總線(兄弟組件之間傳值)

1.作用:

非父子組件(例如兄弟組件)之間傳值的方式,可以用vuex,也可以用事件總線,已下是事件總線(vue-bus)的介紹:

2、注冊

在main.js中注冊

import Vue from 'vue';
import VueBus from 'vue-bus';//中央事件總線
...
Vue.use(VueBus);
...

3、使用

A頁面?zhèn)鬟f給B也頁面:

A頁面中,觸發(fā)了一個叫toBPage的事件,并傳遞了參數(shù)'hello world!'

...
methods: {
 toBPage(){
 this.$bus.emit('bPage', 'hello world!');
 },
}
...

B頁面中,this.$bus.on監(jiān)聽了bPage并傳入了回調函數(shù)this.getBPage,該回調函數(shù)的參數(shù)就是傳遞過來的數(shù)據(jù)

created() {
 this.$bus.on('bPage', this.getBPage);
},
methods: {
 getBPage(item){
 console.log(item);//item就是傳遞過來的數(shù)據(jù)
 },
}

4.離開該頁面時就無需再監(jiān)聽了,所以要銷毀該監(jiān)聽事件,this.$bus.off就是銷毀該監(jiān)聽事件

beforeDestroy() {
 this.$bus.off('bPage', this.getBPage);
},

以上這篇淺談vue中$bus的使用和涉及到的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • vue3動態(tài)路由刷新出現(xiàn)空白頁的原因與最優(yōu)解

    vue3動態(tài)路由刷新出現(xiàn)空白頁的原因與最優(yōu)解

    頁面刷新白屏其實是因為vuex引起的,由于刷新頁面vuex數(shù)據(jù)會丟失,這篇文章主要給大家介紹了關于vue3動態(tài)路由刷新出現(xiàn)空白頁的原因與最優(yōu)解的相關資料,需要的朋友可以參考下
    2023-11-11
  • vue中watch的實際開發(fā)學習筆記

    vue中watch的實際開發(fā)學習筆記

    watch是Vue實例的一個屬性是用來響應數(shù)據(jù)的變化,需要在數(shù)據(jù)變化時執(zhí)行異步或開銷較大的操作時,這個方式是最有用的,下面這篇文章主要給大家介紹了關于vue中watch的實際開發(fā)筆記,需要的朋友可以參考下
    2022-11-11
  • Vue實現(xiàn)數(shù)據(jù)導出導入實戰(zhàn)案例

    Vue實現(xiàn)數(shù)據(jù)導出導入實戰(zhàn)案例

    我們經常需要在Vue搭建的后臺管理系統(tǒng)里進行數(shù)據(jù)導入導出等操作,下面這篇文章主要給大家介紹了關于Vue實現(xiàn)數(shù)據(jù)導出導入實戰(zhàn)案例的相關資料,需要的朋友可以參考下
    2023-01-01
  • 使用Vue開發(fā)動態(tài)刷新Echarts組件的教程詳解

    使用Vue開發(fā)動態(tài)刷新Echarts組件的教程詳解

    這篇文章主要介紹了使用Vue開發(fā)動態(tài)刷新Echarts組件的教程詳解,需要的朋友可以參考下
    2018-03-03
  • vue類名如何獲取動態(tài)生成的元素

    vue類名如何獲取動態(tài)生成的元素

    這篇文章主要介紹了vue類名如何獲取動態(tài)生成的元素,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue使用Pinia輕松實現(xiàn)狀態(tài)管理

    Vue使用Pinia輕松實現(xiàn)狀態(tài)管理

    pinia,一個基于Vue3的狀態(tài)管理庫,它可以幫助開發(fā)人員管理Vue應用程序的狀態(tài),本文主要為大家介紹了Pinia的用法,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-06-06
  • Vue3自定義Echars組件附帶全局配置方式

    Vue3自定義Echars組件附帶全局配置方式

    這篇文章主要介紹了Vue3自定義Echars組件附帶全局配置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Vue 基礎語法之計算屬性(computed)、偵聽器(watch)、過濾器(filters)詳解

    Vue 基礎語法之計算屬性(computed)、偵聽器(watch)、過濾器(filters)詳解

    計算屬性就是 Vue 實例選項中的 computed,computed 的值是一個對象類型,對象中的屬性值為函數(shù),而且這個函數(shù)沒辦法接收參數(shù),這篇文章主要介紹了Vue 基礎語法之計算屬性(computed)、偵聽器(watch)、過濾器(filters)詳解,需要的朋友可以參考下
    2022-11-11
  • vue-cli history模式實現(xiàn)tomcat部署報404的解決方式

    vue-cli history模式實現(xiàn)tomcat部署報404的解決方式

    這篇文章主要介紹了vue-cli history模式實現(xiàn)tomcat部署報404的解決方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • Vue3菜單展開和收起實現(xiàn)

    Vue3菜單展開和收起實現(xiàn)

    在Vue項目中實現(xiàn)首頁布局,包括可收放的左側菜單和主體內容區(qū),在store中管理菜單狀態(tài),通過修改isCollapse狀態(tài)控制菜單的展開與收起,在home.vue中編寫左側菜單欄的代碼和樣式,實現(xiàn)一個響應式的用戶界面
    2024-09-09

最新評論