@Anton8989

Почему при обновлении страницы getters не возвращает данные?

Доброго времени суток, с толкнулся с такой проблемой, когда обновляю страницу (у которой router - localhost:8082/info/details/100) getters, который на этой странице больше не возвращает данные и выдает пустой массив.
Хотя тот же самый getters нормально отрабатывает при обновлении по пути - localhost:8082/info, корректно возвращая массив объектов

Вот немного по коду
info.vue

  <template lang="pug">
	div
		div(v-for="(data,index) in products" :key="index")
			div(@click="goComponent(data.productId)") {{data.productTitle}}
</template>

<script>
export default {
    name: 'Info',
    data() {
			return {
				
    },
    computed: {
    	products() {
    	return return this.$store.getters[CONTACTS]
    	}
    },
		methods: {
			goComponent(proId){
				this.$router.push({ name: 'details', params: { id: proId }})
			}
		}
} 
</script>


router.js 

const routes = [
  {
    path: '/info',
    name: 'info',
    component: () => import(/* webpackChunkName: "info" */ './views/Info.vue'),
  },

  {
    path: '/info/details/:id',
    name: 'details',
    component: () => import(/* webpackChunkName: "details" */ './views/Details.vue'),
    props: true
  },

details.vue

<template lang="pug">
	div
		div {{contacts}}}
</template>

computed: {
	contacts () {
      return this.$store.getters[CONTACTS]
    	}
	}


В чем может быть причина, заранее спасибо)
  • Вопрос задан
  • 331 просмотр
Решения вопроса 1
@caesarisme
Нейрон в нейросети
дело в том, что при обновлении страницы, мы должны диспатчить какой либо action для дальнейшего обращения к state через getter. На странице /info, судя по всему, выполняется dispatch или же в каком либо из компонентов этой страницы/родительских компонентах. Решение, если нужно и после обновления сохранять какие либо данные - localStorage
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы