中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue的keep-alive中如何使用EventBus

發布時間:2021-08-10 13:25:51 來源:億速云 閱讀:229 作者:小新 欄目:web開發

這篇文章主要介紹了vue的keep-alive中如何使用EventBus,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

1.keep-alive組件

keep-alive是Vue提供的一個抽象組件,用來對組件進行緩存,從而節省性能,由于是一個抽象組件,所以在頁面渲染完畢后不會被渲染成一個DOM元素。但是對于展示型頁面比較好用,表單類頁面也會將所填數據保存起來,對于那種表單沒提交又需要保存所填數據的場景非常實用。

keep-alive所緩存的頁面只會執行一次created和mounted,也就是在第一次進入才會執行。但是又會多兩個生命周期,分別是activated、deactivated,activated在每次進入執行而deactivated在每次離開前執行。 當然有些頁面不需要緩存,就要進行一些處理,這里就不多講了,因為估計大家都知道(不知道百度去...)。

2.EventBus(事件總線)

EventBus用于實現組件之間的數據通訊,使用起來非常之簡單。只需要在main.js中加入以下代碼:

Vue.prototype.$eventBus = new Vue();

上面代碼就創建了一個全局EventBus,其實就是一個vue實例。

這樣我們就可以在各個頁面中使用了。

在頁面中使用 $emit 方法就可以觸發事件,然后組件中使用 $on 方法就可以監聽對應事件,這個和組件之間傳值是一樣的。不過這個可以在非父子組件中傳遞狀態,和vuex差不多。當然這種方法在簡單應用中可以使用,復雜的應用應該使用 vuex ,這樣方便管理和維護。

this.$eventBus.$emit('msg',data);// 觸發事件
this.$eventBus.$on('msg',(data)=>{}) // 監聽事件

3.組合使用

這兩個我感覺很配,當我們使用keep-alive緩存了頁面組件,我們需要在A面來觸發B頁面的列表刷新或其他方法時,這時候使用EventBus就非常方便,其他方法也可以,比如說使用vuex,但是此時就沒有直接使用EventBus方便快捷了。 當我們在頁面中使用了 this.$eventBus.$on 去監聽一個事件,只要頁面被緩存,就可以監聽到其他頁面觸發的事件。這樣我們就可以減少一些不必要的請求,而且在需要更新的時候去更新,也可以做一些其他的操作,簡直美滋滋。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“vue的keep-alive中如何使用EventBus”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

进贤县| 灵寿县| 宁海县| 万山特区| 阿拉善盟| 安乡县| 顺昌县| 贡觉县| 湟源县| 道孚县| 中牟县| 临高县| 若尔盖县| 禄丰县| 诸城市| 抚远县| 昌黎县| 乌鲁木齐县| 和龙市| 锡林郭勒盟| 嵊州市| 留坝县| 和顺县| 卓尼县| 哈巴河县| 通榆县| 曲阳县| 衡水市| 乌拉特前旗| 吉安县| 全州县| 佳木斯市| 绍兴市| 措勤县| 九龙坡区| 若尔盖县| 新河县| 沈阳市| 肥西县| 静乐县| 莱芜市|