Как сделать хеш-навигацию слайдом для родительских и дочерних слайдов во вложенных свайперах? - PullRequest
0 голосов
/ 28 октября 2019

Я использую хэш-навигацию для swiper следующим образом:

hashNavigation: {
watchState: true,
replaceState: true,
},

Так что я могу переходить к слайдам, когда нажимаю на ссылки хеш-меню.

Работает нормально, пока я не вложу свиперы в слайды,Когда я использую одинаковые параметры hashNavigation для родительских и дочерних страниц, только родительские ссылки работают как положено. Но дочерние ссылки не активируют родительский слайд, только дочерний.

Я проверил код из hash-navigation.js, это бит, который обрабатывает изменение хеша:

onHashCange() {
const swiper = this;
const newHash = document.location.hash.replace('#', '');
const activeSlideHash = 
swiper.slides.eq(swiper.activeIndex).attr('data-hash');
if (newHash !== activeSlideHash) {
const newIndex = 
swiper.$wrapperEl.children(`.${swiper.params.slideClass}[data- 
hash="${newHash}"]`).index();
if (typeof newIndex === 'undefined') return;
swiper.slideTo(newIndex);
}  },

Можно ли перейти на родительский слайд при нажатии на дочернюю ссылку? Я думаю, что могу добавить родительский хэш к HTML в подобном хеш-коде к хешу данных, как родительский хеш-данных. Но я понятия не имею, что будет JS, чтобы получить значение этого атрибута и slideTo соответственно. Любая помощь будет принята с благодарностью! Спасибо!

...