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

时间:2017-09-23 14:10:29

标签: javascript vue.js

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

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

使用以下内容在兄弟组件中接收

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

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

created(){}

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

1 个答案:

答案 0 :(得分:3)

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

作为一个尝试的工作 mounted()而非使用created()生命周期事件。

有关生命周期事件的更多信息,请点击此处。 https://vuejs.org/v2/guide/instance.html#Lifecycle-Diagram