這篇文章主要介紹了vue的keep-alive中如何使用EventBus,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
成都創新互聯自2013年起,是專業互聯網技術服務公司,擁有項目成都網站制作、成都網站設計、外貿營銷網站建設網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元梅江做網站,已為上家服務,為梅江各地企業和個人服務,聯系電話:135182197921.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”這篇文章對大家有幫助,同時也希望大家多多支持創新互聯,關注創新互聯行業資訊頻道,更多相關知識等著你來學習!
本文名稱:vue的keep-alive中如何使用EventBus-創新互聯
網頁URL:http://vcdvsql.cn/article24/hcgce.html
成都網站建設公司_創新互聯,為您提供搜索引擎優化、靜態網站、域名注冊、微信公眾號、外貿網站建設、定制開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯