【发布时间】:2020-07-29 16:07:03
【问题描述】:
我正在使用 vuejs 和 express 创建简单的登录注销应用程序。用户注册成功后,我将他们重定向到由this.$router.push('/login') 登录的页面,我想显示一个像“注册成功”这样的闪存消息。现在登录!'
这是我的方法
在 Register.vue 中
this.$router.push("/login", () => {
console.log('Register success')
EventBus.$emit('registerSuccess')
});
在 Login.vue 中
<div class="alert alert-success" role="alert" v-if="flashMsg">{{flashMsg}}</div>
data() {return {flashMsg: ''}}
created() {
console.log('Created component')
EventBus.$on("registerSuccess", () => {
console.log('Set flash msg')
this.flashMsg = "Now log in!"
});
},
它不起作用。 EventBus 监听发射但不为 flashMsg 设置任何值。
控制台
Register success
Set flash msg
Created component
谁能告诉我怎么做?谢谢
【问题讨论】:
-
您确定要初始化 EventBus 吗?我看不到那部分代码。即
const EventBus = new Vue() -
是的,我更新了这篇文章。
-
你试过我的答案了吗?
标签: vue.js vue-router