У меня есть сетка элементов на странице моего сайта. Время от времени элемент сетки выводит оболочку с количеством дочерних элементов. Каждую из этих оболочек я установил в качестве слайдера Flickity, а их дочерние элементы были слайдами.
Я инициализировал его, выполнив следующие действия:
import Flickity from 'flickity'
export let cVWrapperFlkty
document.addEventListener('DOMContentLoaded', e => {
document.querySelectorAll('.c-v-wrapper').forEach(cvw => {
cVWrapperFlkty = new Flickity( cvw, {
prevNextButtons: false,
pageDots: false,
contain: true
});
})
})
Все это прекрасно работает. Следующая часть - то, где это ломается. Над сеткой у меня есть ссылки на страницы. При щелчке моя страница запрашивает файл json, который заменяет текущую сетку элементов новым набором, который был задан с помощью рулей JS.
Проблема в том, что Flickity теперь не был настроен для новых .c-v-wrapper
элементов в сетке.
Как я могу настроить приведенный выше код так, чтобы любые добавленные новые элементы .c-v-wrapper
автоматически инициализировались?
После содержимого сетка заменяется Я попытался добавить следующее, но, похоже, ничего не делает. Я предполагаю, что это потому, что переменная cVWrapper по-прежнему ссылается на предыдущие экземпляры Flickity, которые больше не существуют в DOM? Это звучит правильно?
cVWrapperFlkty.reloadCells()