页面刷新后 Vue.js eventBus 不发出属性

Tad*_*nis 4 javascript vue.js

我想在页面刷新后将属性从一个组件传递到另一个组件,它们是兄弟姐妹。我想在页面加载时执行此操作。我正在使用 eventBus 来做到这一点:

EventBus.$emit('generatedSum', this.sum);
Run Code Online (Sandbox Code Playgroud)

在同级组件中接收它:

EventBus.$on('generatedSum', (sum) => {
      this.correct = sum;
    });
Run Code Online (Sandbox Code Playgroud)

我把两者都放在生命周期钩子中:

created(){}
Run Code Online (Sandbox Code Playgroud)

问题是,在保存更改后编译代码后,我将属性发送到同级组件,但是当我手动刷新页面时,该属性在同级组件中不可见。

Thu*_*tha 6

我认为当页面刷新时,Vue 组件会一个接一个地挂载。由于两者都是兄弟姐妹,当第一个组件trigger the event第二个组件可能无法收听triggered event. 因为第二个组件安装在第一个组件之后。

作为一种解决方法,尝试 mounted()而不是使用created()生命周期事件。

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