Vuex не работает getters

146
04 октября 2018, 16:50

Перехватываю id из строки браузера и пытаюсь получить запись из массива находящегося в $store по id, в браузере в консоли ошибок нет, но геттер явно не работает. Код из state файла:

   state: {
   ads: [
  {
    title: 'First ad',
    description: 'fake description chip and dale eat nuts',
    promo: false,
    imageSrc: 'https://cdn.vuetifyjs.com/images/carousel/squirrel.jpg',
    id: 1234
  },
  {
    title: 'Second ad',
    description: 'Eagle eat his nogti',
    promo: true,
    imageSrc: 'https://cdn.vuetifyjs.com/images/carousel/bird.jpg',
    id: 2345
  },
  {
    title: 'Third ad',
    description: 'fake description',
    promo: true,
    imageSrc: 'https://cdn.vuetifyjs.com/images/carousel/sky.jpg',
    id: 3456
  }
]
},
getters: {
adById (state) {
  return adId => {
    return state.ads.find(ad => ad.id === adId)
   }
  }
 }
}

Код компонента:

<template>
  <v-container>
    <p>{{ad}}</p>
  </v-container>
</template>
<script>
  export default {
   props: ['id'],
   computed: {
     ad () {
      return this.$store.getters.adById(this.id)
     }
   }
 }
</script>

Если вставляю в computed свойство строку

console.log(this.$store.getters.adById(this.id)) То в браузере выводит undefined

Подскажите где ошибка?

READ ALSO
Почему таймер на останавливается?

Почему таймер на останавливается?

В компоненте хочу реализовать таймер, по истечении которого надо сделать запросПошуршал по гугглу и стеку примеры таймеров, прикрутил свое

183
Как создать круглый эффект огня при наведении

Как создать круглый эффект огня при наведении

Наткнулся на сайте Хоббита на такой прелестный эффект, который я обычно встречал в играх

185
циклы с функциями

циклы с функциями

у меня есть две функции getDep() и getRate(), и проверка(цикл), где getRate() не должен превышать getDep(), в общем do срабатывает два раза при вводе большего...

179