Я добавил Vuex-Persist и Vuex-ORM в свой проект Nuxt. Когда приложение запускается в первый раз, я хочу добавить некоторые типовые данные.
В моем макете default.vue
я добавил созданную функцию для добавления этих фиктивных данных.
<script>
import Project from '../models/Project';
export default {
created () {
// I'm Using Vuex-Orm to check if there are any projects stored
if (Project.query().count() === 0) {
Project.insert({ data: [{ title: 'My first project' }] })
}
}
}
</script>
Когда приложение перезагружается и открывается во второй раз, я ожидаю, что Project.query().count()
вернет 1. Но оно всегда вернет 0, потому что vuex-persist еще не завершил восстановление локальных данных.
Согласно документы это было бы решением
import { store } from '@/store' // ...or wherever your `vuex` store is defined
const waitForStorageToBeReady = async (to, from, next) => {
await store.restored
next()
}
store.defined
не определено и то же самое относится к this.$store
. Этот комментарий подчеркивает мой точный вопрос "Где определен мой магазин vuex?"