首页 > 解决方案 > Nuxt-Router:URL 中的 Slug 不应是可选的

问题描述

我的目录结构看起来像 /pages/request/guest/_slug/index.vue

如果我调用 /request/guest/test-slug/ 那么 Nuxt 会按预期打开 index.vue 文件。

但是没有 slug 的 /request/guest/ 也会打开相同的 index.vue 文件。

这是为什么?它应该返回 404。

标签: vue-routernuxt.jsslug

解决方案


在 index.vue 中,您应该检查路由参数,如果没有 slug 则返回错误。您可以在 _slug/index.vue 文件中使用 validate 属性来检查 route.params.slug 是否存在。 https://nuxtjs.org/api/pages-validate

否则它只显示 index.vue


推荐阅读