AntonBrock
@AntonBrock
screen light

Как открыть модальное окно при открытие страницы через router-link?

Проблема:
Нужно по нажатию на переходить на страницу и открывать модальное окно с id нажатого элемента.
Пример:
На странице N у нас несколько элементов. У каждого свой id. При нажатие на любой элемент, мы должны попадать на страницу, где есть все эти элементы( это работает), а после сразу должно открываться модальное окно с id того элемента, на который тыкнули на прошлой странице.

Стек:
Vue.js, Element-UI

Мой роутер:
Знаю, что не хватает id, но не понимаю, как реализовать.
{
      path: '/n',
      name: 'n',
      component: n,
      meta: {menuIndex: 'n', title: 'n'}
 }
  • Вопрос задан
  • 472 просмотра
Пригласить эксперта
Ответы на вопрос 2
в роуте на странице со всем элементами в path должен передаваться id:
path: '/n/:id'
там где происходит переход должно быть что то подобное (переход на страницу с модалками):
button(@click="$router.push('/n/1')" )
в компоненте где модалка должна открыться, нужен обработчик урла и вызов открытия модалки по id:
mounted () {
  const idModal = this.$router.currentRoute.params.id

  if (idModal) {
    this.openModalById(idModal )
  }
}
Ответ написан
Комментировать
Aetae
@Aetae Куратор тега Vue.js
Тлен
По хорошему - следует делать как предложил Владимир Мацуев.
Но если надо передавать id втихоря - то можно просто переходы осуществлять так:
$router.push({ path: '/n/', params: { id: '123' } )
, а в компоненте, соответственно, следить за $route.params.id.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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