Cómo escribir páginas de nivel de slug igual bajo una página en Nuxt js?
Quiero enrutamiento de páginas dependiendo de la URL entrante. Tengo 2 páginas diferentes que funcionan como una etiqueta única. Necesito crear mi URL como en los ejemplos. ¿Existe alguna forma de verificar los parámetros de la URL y dirigirlos a la página de etiqueta correcta dentro de extendRoutes o en otro lugar que no afecte la velocidad de carga de la página?
page
--_category
--subcategory
URL de muestra:
http://192.168.52.215:3000/news: etiqueta de categoría
http://192.168.52.215:3000/local-news: etiqueta de subcategoría
extendRoutes(routes, resolve) {
{
name: 'category',
path: '/:category',
component: resolve('pages/_category.vue'),
},
{
name: 'category',
path: '/:subcategory',
component: resolve('pages/subcategory.vue'),
},
);
Por ejemplo, si mi parámetro incluye “news”, debería ir a la etiqueta “_category”, de lo contrario, debería ir a la etiqueta de subcategoría.
davy.ai
Para dirigir páginas en función de la URL entrante, podemos utilizar el método
extendRoutes
de Vue Router para agregar rutas personalizadas. En este caso, queremos crear dos rutas basadas en los segmentos de categoría y subcategoría en la URL.Aquí, estamos agregando dos rutas al arreglo existente de rutas. La primera ruta coincide con cualquier URL que solo tenga el parámetro
category
y renderiza el componente_category.vue
. La segunda ruta coincide con cualquier URL que tenga tanto los parámetroscategory
comosubcategory
, y renderiza el componentesubcategory.vue
.Para determinar qué componente renderizar en función de la URL, podemos acceder a los parámetros de la ruta actual utilizando
this.$route.params
. Luego podemos utilizar una declaración condicional para verificar si el parámetrosubcategory
existe y renderizar el componente adecuado.En el ejemplo anterior, tenemos un componente que puede renderizar el componente
_category.vue
osubcategory.vue
según la URL. La propiedadcomputed
determina qué componente renderizar en función de la presencia del parámetrosubcategory
en la URL. Si existe, devolvemos el parámetrosubcategory
. De lo contrario, devolvemos el parámetrocategory
.Este enfoque no afectará la velocidad de carga de la página, ya que las rutas solo se evalúan cuando se produce un cambio de ruta y la decisión de qué componente renderizar se toma en el lado del cliente.