• Почему swiper loop дублирует слайды без контента?

    @egerr
    там вроде суть в том, что он делает дубль только элемента в DOM, поэтому и логика не работает. я сейчас столкнулся с тем же самым, только у меня проще - скролл по кнопке не работает. пока ищу решение
    Ответ написан
    Комментировать
  • Как реализовать добавление классов в список vue через computed?

    @egerr
    если использовать computed для работы с классами, то это выглядит например вот так

    countColor() {
            return {
              red: this.comment.rating.count < 0,
              green: this.comment.rating.count > 0,
            };
          },


    и в шаблоне :class="countColor"

    в твоём случае computed не подойдет, потому что в него нельзя передать параметр, который будет известен при рендере списка. тебе надо просто написать метод (в methods), который будет так же возвращать имя нужного тебе класса. ниже кусок моего кода, в котором по сути тоже самое, только надо будет переписать с входным параметром:

    categoryTitle() {
            let catTitle = '';
            if (!this.$route.params.category) {
              catTitle = 'Новости<br> игрового мира';
            }
            if (this.$route.params.category === 'news') {
              catTitle = 'Новости';
            }
            if (this.$route.params.category === 'articles') {
              catTitle = 'Статьи';
            }
            return catTitle;
          },
    Ответ написан
    Комментировать
  • Как растащить Store Vuex на модули?

    @egerr
    В своё время я писал сторожевые хуки для админки и нашёл отличную статью, где до кучи был хороший пример организации стейта. Использую данный подход в своём проекте, очень удобно.

    Хранилище ещё удобно и тем, что там можно разместить часть логики и получать данные в компонентах уже с обработкой. Например, допустим мы получили данные поста с сервера, после этого в мутации мы что-то с ними делаем, например прогоняем регуляркой, и потом уже сохраняем в state.post.

    статья на русском

    оригинал статьи

    файлы проекта на гитхабе

    если в двух словах. создаём хранилище (директория state), после чего импортируем его в main.js - профит.
    в компонентах данные из хранилища получаем с помощью геттеров.

    например

    <script>
      export default {
        name: 'Post',
    
         created() {
          this.$store.dispatch(POST_REQUEST, this.$route.params.id);
        },
    
        computed: {
          ...mapGetters(['post',]),
        },
      };
    </script>
    Ответ написан
    Комментировать