簡體   English   中英

Vue.js eventBus 在頁面刷新后不發出屬性

[英]Vue.js eventBus doesn't emit property after page refresh

我想在頁面刷新后將屬性從一個組件傳遞給另一個組件,它們是兄弟姐妹。 我想在頁面加載時執行此操作。 我正在使用 eventBus 來做到這一點:

EventBus.$emit('generatedSum', this.sum);

在兄弟組件中接收它:

EventBus.$on('generatedSum', (sum) => {
      this.correct = sum;
    });

我將兩者都放在生命周期掛鈎中:

created(){}

問題是,在保存更改后編譯代碼后,我將屬性發送到同級組件,但是當我手動刷新頁面時,該屬性在同級組件中不可見。

我認為當頁面刷新時,Vue 組件會一個接一個地掛載。 由於兩者都是兄弟,當第一個組件trigger the event時,第二個組件可能無法監聽triggered event 因為第二個組件是在第一個組件之后安裝的。

作為一種解決方法,請嘗試mounted()而不是使用created()生命周期事件。

可以在此處找到有關生命周期事件的更多信息。 https://v2.vuejs.org/v2/guide/instance.html#Lifecycle-Diagram

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM