@tenaro

Vue.js. ссылки с href=“#anchor”, как заставить работать?

Проект на vue-cli2, подключен vue-router

ссылки приходят в контенте от сервера, по запросу, например a href="#block1"...
при клике по ним, вместо прокрутки до нужного блока, происходит перезагрузка страницы

- как сделать рабочими стандартные якоря в обычных ссылках?
- как сформировать из обычных ссылок router-link, чтобы не было перезагрузки страницы при клике?
  • Вопрос задан
  • 164 просмотра
Решения вопроса 1
@tenaro Автор вопроса
самое простое решение которое нашел - повесить @click на контейнер, в который грузится контент аяксом,
в этой функции, нативным js смотреть e.target, определять что это ссылка, ее хэш, и крутить до нужного блока
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@frankieksai
const el = this.$el.getElementsByClassName("block1")[0];
        if (el) {
          el.scrollIntoView({ behavior: "smooth", alignToTop: true });
        }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы