我想在页面刷新后将属性从一个组件传递到另一个组件,它们是兄弟姐妹。我想在页面加载时执行此操作。我正在使用 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)
问题是,在保存更改后编译代码后,我将属性发送到同级组件,但是当我手动刷新页面时,该属性在同级组件中不可见。
我认为当页面刷新时,Vue 组件会一个接一个地挂载。由于两者都是兄弟姐妹,当第一个组件trigger the event第二个组件可能无法收听triggered event. 因为第二个组件安装在第一个组件之后。
作为一种解决方法,尝试
mounted()而不是使用created()生命周期事件。
可以在此处找到有关生命周期事件的更多信息。 https://vuejs.org/v2/guide/instance.html#Lifecycle-Diagram
| 归档时间: |
|
| 查看次数: |
1268 次 |
| 最近记录: |