@GenesisFTW

Как реализовать реактивно изменения иконки сохранённых постов?

У меня есть page articles при переходе на эту страницу я обращаюсь в хуке
mounted в store action this.$store.dispatch('all-articles') там я обращаюсь на сервер и возвращаю все статьи в виде объектов внутри массива.
После я передаю этот массив в component - ContentList где я с циклом v-for передаю статьи в component - ContentPreview.
В ContentPreview принимаю в props [content] и в нем есть код как выглядят статьи и иконка bookmark и там есть button с методом
savePost(){
const ides = {post_id: this.content.id, user_id: this.GET_USER.id}
this.$store.dispatch('saveOrDelete', ides)
}
при нажатии на него я так же как выше описал делаю запрос на сервер ) и отправляю в БД phpmyadmin, в table saved_posts post_id и user_id и возвращаю объект
{message: saved, post_id: 50} или если уже есть такой пост с этим post_id и user_id{message: deleted, post_id:50}
 тем самым сохраняя какой пост был сохранен с каким пользователем.
Проблема в том что нужно меня иконку реактивно в component ContentPreview при вызове метода savePost() если она сохранилось а если она уже была сохранено то изначально при переходе на page articles нужно поменять иконку на сохранённую и с тем самым при нажатии сменить иконку на другую. Постарался описать подробно
  • Вопрос задан
  • 70 просмотров
Пригласить эксперта
Ответы на вопрос 1
Aetae
@Aetae Куратор тега Vue.js
Тлен
async savePost(){
  this.iconStatus = 'loading';
  const ides = {post_id: this.content.id, user_id: this.GET_USER.id};
  const result = await this.$store.dispatch('saveOrDelete', ides).catch(() => ({message: 'error'}));
  this.iconStatus = result.message;
}

?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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