Я создавал свое первое приложение в 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 во все компоненты mount ().
Есть ли способ решить эту проблему?
Большое спасибо.