2017-09-23 43 views
1

我想在頁面刷新後將屬性從一個組件傳遞給另一個組件,它們是兄弟。我想在頁面加載時做到這一點。 我使用eventBus做到這一點:Vue.js事件總線在頁面刷新後不發射屬性

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

與接受它在同級組件:

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

,我puting無論是在生命週期掛鉤:

created(){} 

問題是在保存更改後編譯代碼之後,我將該屬性命名爲兄弟組件,但是當我手動刷新頁面時,該屬性在兄弟組件中不可見。

回答

3

我想當頁面刷新Vue組件一個接一個的時候。由於兩者都是兄弟姐妹,當第一個組件trigger the event時,第二個組件可能無法收聽triggered event。因爲第二個組件安裝在第一個組件之後。

作爲一個變通嘗試 mounted(),而不是使用created()生命週期事件。

有關生命週期事件的更多信息,請參見此處。 https://vuejs.org/v2/guide/instance.html#Lifecycle-Diagram

+0

這是事實的答案。我剛剛告訴他,這可能不是確切的解決方案。現在在答案中沒有猜測;) – Thusitha

+0

FWIW,是的,這可能是問題所在。如果您不確定,最好在回答之前先澄清一下評論。 – Bert

+0

@Bert當然;) – Thusitha

相關問題