1. 程式人生 > >元件之間使用this.$bus.$on傳值之前需要先this.$bus.$off登出事件

元件之間使用this.$bus.$on傳值之前需要先this.$bus.$off登出事件

this.$bus是全域性變數

a、b是兩個父元件,c是子元件。

c頁面觸發事件:

this.$bus.$emit(event)

a、b頁面監聽c元件的事件

pagea:

this.$bus.$on(event, () => {
    this.status = 'reserve'
})

pageb:

this.$bus.$on(event, () => {
     this.status = 'buying'
})

如果在呼叫了a頁面之後,再呼叫b頁面,回導致this.status是reserve而不是我們想要的buying。
正確寫法:
pagea:

this.$bus.$off(event).$on(event, () => {
    this.status = 'reserve'
})

pageb:

this.$bus.$off(event).$on(event, () => {
     this.status = 'buying'
})