我一直在nuxtjs中构建我的第一个应用程序,但是vue状态存在一些问题。我已经集成了vuex-persistedstate
和js-cookie
以保持状态。
我正在尝试获取vuex状态并在组件内部状态(data () {}
)中设置值。
Notification.vue computed: { ...mapState({ user: state => state.auth.user }) }, mounted() { this.notifications = this.user.notification }
如果我从另一页面进入此页面,此方法很好。
但是如果我直接重新加载通知页面,this.user(vuex状态)为null
。如果我将其包装在setTimeout()
中,即使重新加载页面后也可以正确获取状态。
例如:
mounted () { setTimeout(() => { this.notification = this.user.notification })
我相信这是vuex和nuxtjs的异步问题,但我认为将setTimeout包装在所有组件Mounted()方法中不是一个好主意。
有什么办法解决这个问题?
非常感谢。
我一直在nuxtjs中构建我的第一个应用程序,但是vue状态存在一些问题。我已经集成了vuex-persistedstate和js-cookie来保持状态。我正在尝试获取vuex状态并设置...
我遇到了同样的问题。我使用this.$nextTick()
而不是setTimeout()
修复了它。我认为这样比较干净。