nekrasov444
@nekrasov444

Как сделать что бы store заработал?

Не отображаются данные из стор точнее актион не записывает в стейт

вот мой store/theme.js

export const state = () => ({
  themes: []
})

export const mutations = {
  setThemes(state, themes) {
    state.themes = themes
  }
}

export const actions = {
 async fetch({commit}){
  const themes = await this.$axios.$get(`/t/`);
  commit('setThemes', themes)
 }
}

export const getters = {
  themes: s => s.themes
}


Вывод в шаблон
<template>
{{ themes }}
		</template>

		<script>
			export default {
async fetch({store}){
	if (store.getters['themes/themes'].lenght === 0) {
		await store.dispatch('themes/fetch')
	}
},

computed:{
	themes(){
	return this.$store.getters['themes/themes']		
	}

}

			};

		</script>


В итоге выводит только "[]"

Почему так?

аксиус запрос рабочий, пробывал на прямую из страницы
  • Вопрос задан
  • 44 просмотра
Пригласить эксперта
Ответы на вопрос 1
Пересобери проект.

Проверь, чтобы не было ошибок в консоли.

Смотри на каждом этапе через console.log() или debuger, вызывается ли 'themes/fetch', что возвращает axios, что приходит в mutations, что сохраняется, и далее.
Состояние store можно посмотреть во vue dev tools расширении для хрома.

upd
нашел почему
if (store.getters['themes/themes'].lenght === 0) {
    await store.dispatch('themes/fetch')
  }


store/theme.js файл а вызываешь store.dispatch('themes/fetch')
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы