Маршруты Nuxt.js ограничивают возможные параметры - PullRequest
0 голосов
/ 19 января 2019

У меня есть следующая структура URL в моем приложении Nuxt.js.

/pages/_wildcard/_id.vue

, что в основном соответствует example.com/*/*

Я ищу способ запустить эту страницу только при посещении определенных параметров.

Например, я хотел бы разрешить только clothes, electronics и babies в качестве возможных значений подстановочных знаков, которые соответствуют

  • example.com / электроника / *
  • example.com / дети / *

Все остальное, кроме трех, не должно переходить на эту страницу.

Проблема возникает, поскольку первым параметром является шаблон. Я ищу способ разрешить только определенные подстановочные значения в маршруте. Есть что-нибудь подобное?

Единственное, о чем я думал, это наличие оператора if внутри метода asyncData для проверки, но я бы хотел этого избежать. Ищите лучшее решение здесь.

1 Ответ

0 голосов
/ 20 января 2019

Vue-router имеет фантастический способ динамического перенаправления / проверок:

const router = new VueRouter({
  routes: [
    { path: '/a', redirect: to => {
      // the function receives the target route as the argument
      // return redirect path/location here.
    }}
  ]
})

Вы можете поместить проверки маршрута в эту функцию и выполнить любые необходимые проверки.

Или ... вы можете использовать полную мощность Vue-router reg-exp и записать свой путь в router.js следующим образом:

/(clothes|electronics|babies)/*
...