Не удается повторно инициализировать экземпляр Swiper - PullRequest
0 голосов
/ 20 мая 2019

Мне нужна помощь в повторной инициализации скрипта.Я использую Barba.js для создания плавных переходов страниц.Barba превращает вашу страницу в решение типа «одностраничное приложение».Сценарии должны быть повторно инициализированы еще раз, чтобы заставить их работать правильно.

Обычно я делаю

var sortList = function (){
    ...
};

sortList();

export { sortList } 

Затем в верхней части моего основного файла Barba выполняю импорт

import { sortList } from './filter-sort';

Внутри функции Barba я вызываюэто, sortList();.Это успешно перезапустит скрипт.

Проблема У меня конкретно есть проблема с Swiper.js .По какой-то причине это не приводит к повторной инициализации.

import Swiper from 'swiper';

var heroSlider = new Swiper('.swiper-container', {
  speed: 1333,
  slidesPerView: 1,
  loop: true,
  pagination: {
    el: '.swiper-pagination',
    type: 'progressbar',
  },
  autoplay: {
    delay: 12000,
    disableOnInteraction: false,
  },
  navigation: {
    nextEl: '.c-hero__slider--arrow-next',
    prevEl: '.swiper-button-prev',
  },
});

heroSlider.init();

export { heroSlider }

Документы говорят:

init

Должна ли Swiper инициализироваться автоматически при созданииэкземпляр.Если отключено, то вам нужно запустить его вручную, позвонив по номеру mySwiperName.init().По умолчанию true.

Используя тот же подход в верхней части этого вопроса, вызовите instance еще раз (внутри моей функции Barba) heroSlider.init(), похоже, непереинициализировать скрипт.Однако он реинициализирует скрипт для моей функции sortList().Моя консоль тоже не содержит ошибок.

Я попытался разместить функцию вокруг экземпляра Swiper.js, но карусель вообще не загружается, даже при сильной загрузке.

Как я могу повторно инициализировать этот скрипт в моем Barbaфункционировать?Я экспортирую это неправильно, возможно?

Спасибо

...