问题描述
当对带有以下代码的帖子发表新评论时,我使用 larvavel echo 向用户发送私人通知:
mounted(){
window.Echo.private(`App.User.${this.user.id}`)
.notification((notification) => {
console.log(notification.comment);
});
}
这是可行的,但用户数据是使用 mapState 访问的,所以每当我刷新页面时,用户信息都是未定义的。有没有一种方法可以在不使用挂载钩子的情况下使用 laravel echo,或者在不使用 vuex-persistedstate 的情况下使用户状态跨页面持久化。
目前我正在做的是设置一个计时器来延迟,直到在挂载的钩子中设置用户值:
if(this.$store.getters.isLoggedIn){
this.$store.dispatch('setUser');
this.$store.dispatch('fetchNotifications');
}
setTimeout(()=>{
this.checkNotification();
},3000)
这行得通,但我认为这不是最好的方法。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)