2017-09-23 80 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