@GrimJack

Как следить за обновлением параметров маршрута?

Дано:
Маршрут vue-router
{
        path: '/data-list/:list_slug',
        name: 'data_list',
        component: data_list,
        meta: {
            requiresAuth: true,
            breadcrumbs: [
                {
                    'url': 'data_list',
                    'title': 'Data'
                },
                {
                    'title': ''
                }
            ]
        },
        children: [
            {
                path: ':list_id',
                name: 'data_list.edit',
                component: data_list
            }
        ]

    }


Нужно внутри компонента следить за обновлением :list_slug
Не могу понять как это делать. Пробовал присвоить его как переменную в data(){return{***}} и сделать deep watch но не помогло. Как же можно это сделать? Гугл не помг(
  • Вопрос задан
  • 213 просмотров
Решения вопроса 1
nikichv
@nikichv
Frontend dev. Current stack: Next.js/RTK/Saga
Попробуйте так:
watch: {
  '$route.params.list_slug': function (listSlug) {
    console.log(listSlug); // выводим новое значение параметра роута
    this.doSomething(); // выполняете что нужно
  },
},

Еще можно целиком "следить" за объектом роута:
watch: {
  '$route': function (to, from) {
    // выполняем что-либо, когда роут меняется
  },
},

Подобные примеры описаны в документации.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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