關於vue-bus的理解

自己之前也查看vue-bus插件裏的源碼封裝,其實基於vue的實例,實現全局可以調用onon,once,$ off,$emit,其實自己也可以手動封裝,但是感覺這個插件也不大,所以爲了效率直接下載進項目裏面。
下面介紹它的幾個主要用法:
全局定義的事件是不會跟隨組件的生命週期函數進行狀態改變的。切換路由時,如果不手動清除事件的話,它會註冊多次。

  created() {
   //手動清除事件
        this.bus.$off('clickBus');//在每次創建事件之前,手動清除定義的事件(根據實際的業務需求也可以在beforeDestroy()和destroyed())
    },
  mounted(){
        this.bus.$on('clickBus', (e) => {});
    }
 //或者可以在beforeDestory的寫
 beforeDestroy () {
    bus.$off('get', this.myhandle)
  },

其實之前的我們用this.onthis.on,this.emit是我們子組件傳給父組件的一種方式,只不過vue-bus將它拓展爲全局而已。

參考的鏈接:
https://my.oschina.net/u/3547207/blog/1840760
https://www.cnblogs.com/chenhuichao/p/10122264.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章