@slagoris

Как закрывать модалку при клике в router-link?

Привет. Пока мало соображаю в vue.
Есть линк в модалке.<router-link to="/privacy" >ТЕКСТ</router-link>

Модалку надо закрыть кликом на эту ссылку - вот так.
@click="$store.commit('hideModal')",
но и по ссылке тоже идти надо.
Когда делаю вот так
<router-link to="/privacy" @click="$store.commit('hideModal')">ТЕКСТ</router-link>

мы идем по линке, а соответственно @клик не обрабатывается, т.к. евент у нас переход по ссылке. Как на вуе сделать, чтобы работало? Прошу помощи. Думаю, там что-то несложное, но я пока не знаю как это сделать. Наверное как-то через методы. Заранее спасибо.
  • Вопрос задан
  • 137 просмотров
Решения вопроса 2
@Kostik_1993
Web Developer
Можно не использовать router-link, а вызывать через $router.push('/privacy') в обработчике клика после того как открыли модалку
Для отмены перехода есть @click.prevent
Ответ написан
Можно глобальный хук повесить и при любой смене роута коммитить скрытие модалки, просто на всякий случай )

router/index.js
router.afterEach(() => {
  store.commit('hideModal')
})
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
dima9595
@dima9595
Junior PHP
Если хотите открывать модалку, то зачем использовать роутинг? сделайте ту же кнопку, повесьте туда метод открытия модалки и всё - работает
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы