@Kneepy

Не работаю эффекты для элементов полученных из API?

Создал api на nodeJS получающее данные из таблицы в mysql, суть проблемы в том что когда я вывожу данные из пропсов этого элемента то всё работает, но не применяется masonry эффект и эффекты при кликах. Код родительского компонента в котором происходит получение данных из api:
<template>
   <Post
      v-bind:items="items"
   />
</template>
<script>
import Post from '@/components/modules/Post'
import axios from 'axios'
export default {
   components:{
      Post
   },
   data: () => {
      return{
         items: [],
      }
   },
   mounted() {
      axios.get('http://127.0.0.1:5000/api/posts', {
         headers: {'Content-Type': 'application/json',}
      }).then(response => (this.items = response['data'], this.items.hover = false))
   },
}
</script>
  • Вопрос задан
  • 125 просмотров
Пригласить эксперта
Ответы на вопрос 2
@7rows
Frontend Разработчик / Vue / JS / TS / CSS
Хм, может быть банально, но как вам помочь с эффектами, если вы показываете код запроса ?

Показывайте код, где у вас работает клики и наложение.
Тут по запросу равносильно, как гадать на кофейной гуще

Например вот это у вас что ?
this.items.hover
Vue не видит реактивности в объекте, в котором вы добавили новое свойство, так как оно изначально не объявлено
, вам надо использовать this.$set()
ну и у вас изначально items это массив, а потом вы его в объект превращаете,
И дальше происходит какая-то магия, так как компонента не видно и не понятно что у вас там происходит и без этого, никто вам не поможет=(
Ответ написан
Ваш ответ на вопрос

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

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