Перейдите с помощью nuxt-ссылки на привязку / хэш на другой странице, что вызывает проблемы - PullRequest
0 голосов
/ 08 апреля 2019

Я использую nuxt-ссылки в навигации по моему сайту, большинство из них указывают на хэшированные элементы / якоря на домашней странице, такие как:

<nuxt-link
  v-else
  class="text-link"
  :to="localePath('index') + `#${item.hash}`"
>

, и это делает свою работу, если в настоящее время находится на домашней странице, нокогда я перехожу на другой сайт, например./ about, и я нажимаю на nuxt-ссылку на панели навигации (поэтому я хочу перейти от / about к / # hash или / any-other-site # hash) Я получил сообщение об ошибке nuxt, чтобы проверить консоль, на которой написано "Cannot read"свойство 'offsetTop' of null "

Моя конфигурация маршрутизатора в nuxt.config (без него я бы даже не смог прокрутить привязанный элемент, находящийся на том же сайте, что и элемент!):

  router: {
    scrollBehavior(to) {
      if (to.hash) {
        return window.scrollTo({ top: document.querySelector(to.hash).offsetTop + window.innerHeight, behavior: 'smooth' });
      }
      return window.scrollTo({ top: 0, behavior: 'smooth' });
      }
  },
...