2016-11-18 2 views
5

Я использую этот

this.$root.$router.push({ path: '/dashboard', params: { errors: 'error' }, query: { test: 'test' } })

в моем компоненте для перенаправления на другой URL, если произошла какая-то ошибка. Проблема в том, что когда я хочу получить доступ к полю params в компоненте панели мониторинга, он пуст. Поле query хорошо работает. Я пытаюсь получить к нему доступ this.$route.params.errors.

ответ

7

Вы можете использовать params только с named путями (я думаю).

Пример:

//route (in your router file should have "name") 
{ path: '/errors', name: 'EXAMPLE', component: ... } 

//navigating 
this.$router.push({ 
    name: 'EXAMPLE', 
    params: { errors: '123' } 
}); 

Теперь он будет иметь правильное значение в this.$route.params.

+0

Полезно знать:) Спасибо, хорошо работает. –

+0

Знаете ли вы, в чем причина этого ограничения? – andresgottlieb

+0

Трагические ограничения. – mystrdat

1

Если вы не хотите использовать именованные маршруты вы можете попробовать это:

ES6

this.$root.$router.push({ 
    path: `/dashboard/${error}`, 
    query: { test } 
}) 

ES5

this.$root.$router.push({ 
    path: '/dashboard/' + error, 
    query: { test: 'test' } 
}) 
Смежные вопросы