Ответы пользователя по тегу Slick
  • Почему когда слайд "1" сдвигаю на середину, клик на нём и последующих слайдах не отрабатывает?

    0xD34F
    @0xD34F
    Потому что к этим слайдам не привязано никаких обработчиков. А не привязано потому, что это копии слайдов - slick делает копии для создания иллюзии круговой прокрутки.
    Ответ написан
    7 комментариев
  • Как изменить набор слайдов в vue-slick?

    0xD34F
    @0xD34F Куратор тега Vue.js
    Использую карусель vue-slick...

    Я так понимаю, вы говорите про эту?

    Есть кнопка "добавить слайд", после которой нужно "перезапустить" слайдер. <...> Пробую использовать в методе добавления слайда this.$refs.slick.$reSlick(), ничего не получается.

    Что неудивительно - внутри reSlick карусель уничтожается и сразу же создаётся. При уничтожении вся внутренняя разметка кроме картинок вырезается, сами же картинки slick держит в отдельном div'е - то есть, только что добавленный слайд попадает в корневой элемент slick'a и сразу же удаляется.

    Так что порядок действий при изменении набора слайдов должен выглядеть как-то так - уничтожить карусель, изменить разметку, создать карусель. То есть, вызов $refs.slick.destroy; затем изменение данных, на основе которых строится разметка слайдов; и наконец, вызов $refs.slick.create, обёрнутый в $nextTick.

    Заниматься подобной ерундой особого смысла не вижу, лучше будем уничтожать и создавать заново экземпляр самого компонента. Для этого назначим ему key, чьё значение будет зависеть от набора данных, на основе которых строится разметка слайдов. Например.
    Ответ написан
    Комментировать
  • Как выводить номер текущего слайда?

    0xD34F
    @0xD34F
    Вместо beforeChange используйте afterChange. Или nextSlide вместо currentSlide. Потому что currentSlide в beforeChange - это тот, с которого вы уходите, т.е., сейчас вы выводите номер слайда с опозданием на один шаг.
    Ответ написан
    2 комментария