【问题标题】:Is it safe to emmit event after route push路由推送后发出事件是否安全
【发布时间】:2018-04-25 12:32:06
【问题描述】:

我有一个按钮可以将用户从一个页面重定向到另一个页面:

this.$router.push('/my-profile/messages');
this.$nextTick(() =>
    this.$eventBus.$emit('passUserToMessages', user)
);

然后在消息页面上我正在监听此事件:

this.$eventBus.$on('passUserToMessages', (user) => {
    this.usersToChatWith.push(user);
});

这可以保证页面总是先加载数据返回块然后我的事件来填充列表

【问题讨论】:

  • 如果您必须从非子组件访问它,您应该将您的用户放在Vuex store 中。

标签: javascript vuejs2 event-bus


【解决方案1】:

如果$router.push 是异步操作,那么不,您不能保证,如果路由加载了某些内容并且您只想在加载成功完成后发出此事件,那么发出事件的理想位置就是那个地方。

【讨论】:

    猜你喜欢
    • 2015-03-10
    • 2015-09-14
    • 2020-11-30
    • 1970-01-01
    • 1970-01-01
    • 2014-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多