Как исправить некорректное отображение слеша в url (vue router)?

Доброго времени суток
Столкнулась с проблемой суть такая:
С бэка приходит слаг , он нужен для динамичного роута
вот роут
{
    path: '/product/:slug/(.*)?',
    name: 'Product',
    params: true,
    component: () => import(/* webpackChunkName: "Category" */ '../views/ProductCard')
  },

пример слага
url:"best-of-june/flowers/9150"
но когда слаг вставляю в router link
<router-link :to="{name:'Product',  params: {slug: item.url }}</router-link>

на выходе url получаеться вот таким
http://sandbox/product/best-of-june%2Fflowers%2F9150

вместо / появляется %2F
как это можно исправить?
  • Вопрос задан
  • 219 просмотров
Решения вопроса 1
Aetae
@Aetae Куратор тега Vue.js
Тлен
Роутер экранироует все params, кроме специального исключения для *.

Если отдельный slug вам не очень нужен, то можно сделать так:
{
    path: '/product/*',
    name: 'Product',
    params: true,
    component: () => import(/* webpackChunkName: "Category" */ '../views/ProductCard')
 },
<router-link :to="{name:'Product',  params: {pathMatch: item.url}}</router-link>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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