javascript - 路由推送后发出事件是否安全
问题描述
我有一个按钮应该将用户从一个页面重定向到另一个页面:
this.$router.push('/my-profile/messages');
this.$nextTick(() =>
this.$eventBus.$emit('passUserToMessages', user)
);
然后在消息页面上,我正在收听此事件:
this.$eventBus.$on('passUserToMessages', (user) => {
this.usersToChatWith.push(user);
});
这可以保证页面总是先加载数据返回块然后我的事件来填充列表
解决方案
如果$router.push
是异步操作,则不,您不能保证,如果路由加载了某些内容并且您只想在加载成功完成后发出此事件,那么发出事件的理想位置就是那个地方。
推荐阅读
- python - Python - 将两个 for 循环连接到数组中
- java - 两个长值之和返回负值
- ruby-on-rails - 使用活动记录在 where 查询中忽略字符串的前 2 个字符
- excel - 如何根据VBA中的另一个单元格为其他单元格着色
- python - Python pymsgbox 不会在取消按钮上关闭
- mysql - 无法使用 peewee 连接到 MySQL 数据库
- ios - UITableViewCell 中的 iOS UITextView “阅读更多”,就像在现代 App Store 中一样
- angular - Angular 8 / Apache:root 和 sudomain 应用程序的 htaccess
- asp-classic - ASP/VBScript 错误对象中缺少属性
- r - 如何为数据集中的多个自变量生成多个箱线图?