Навигационная ссылка Docusaurus v2 действует на домашней странице и делает c страниц - PullRequest
1 голос
/ 28 апреля 2020

У меня есть различные разделы на моей домашней странице docusaurus, и с верхней панели навигации я могу scrollTo намеченные разделы, используя приведенный ниже код, отметив window.location.pathname==='/'.

let navLink = document.querySelectorAll('nav .navbar__link');
if(navLink) {
  navLink.forEach(function(link) {
      link.addEventListener('click', function(e){
        e.preventDefault();
        let selectedSection = e.currentTarget.textContent.toLowerCase();
        if(window.location.pathname === '/') {
          window.scrollTo(0,document.querySelector(`#anchor-${selectedSection}-section`).offsetTop - 100);
        }
      })
  })
}

, который работает нормально, когда Я на домашней странице.

После возвращения (маршрутизации) на домашнюю страницу со страницы документов, нажав на ссылку Home nav, метод scrollTo не работает, и я сразу направлен на путь к документам. вместо прокрутки к одному из домашних разделов. Хотя я проверяю window.location.pathname === '/', код не выполняется.

Может кто-нибудь помочь мне выяснить, что происходит за кулисами маршрутизации при переходе по страницам документов.

Примечание. Я написал вышеупомянутый скрипт в файле index.js.

1 Ответ

1 голос
/ 28 апреля 2020

Шаг 1: Создана новая страница с именем home. js

Шаг 2: обновлен объект ссылки docusaurus.config. js с / до /home

{ to: '/home', label: "Home", position: 'left'}

Шаг 3: внутри home.js добавлена ​​функция перенаправления для перенаправления на "/", что решило мою актуальную проблему.

...