2016-11-18 21 views
5

tôi sử dụng này

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

trong thành phần của tôi để chuyển hướng đến URL khác khi một số lỗi đã xảy ra. Vấn đề là khi tôi muốn truy cập vào lĩnh vực params trong thành phần bảng điều khiển, nó trống. Trường query hoạt động tốt. Tôi đang cố truy cập nó bằng this.$route.params.errors.

Trả lời

7

Bạn chỉ có thể sử dụng params chỉ với named đường dẫn (tôi nghĩ).

Ví dụ:

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

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

Bây giờ nó sẽ có giá trị đúng trong this.$route.params.

+0

cần biết:) Cảm ơn, hoạt động tốt. –

+0

Bạn có biết lý do cho giới hạn này là gì không? – andresgottlieb

+0

Giới hạn về bi kịch. – mystrdat

1

Nếu bạn không muốn sử dụng tên đường bạn có thể thử này:

ES6

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

ES5

this.$root.$router.push({ 
    path: '/dashboard/' + error, 
    query: { test: 'test' } 
}) 
Các vấn đề liên quan