根据docs:中间件将按以下顺序依次执行:
现在,我想知道如何将中间件添加到一组页面中,如下所示:
pages/
--| _slug/
-----| comments.vue
-----| index.vue
Run Code Online (Sandbox Code Playgroud)
我认为有一些选择:
1)我可以将中间件添加到目录中的每个单独页面中,但这并不干。
2)另一个解决方案是nuxt.config.js在路由上有条件地将中间件添加到中,但是这也不适合该代码,除了它也可以在任何其他路由上运行。
3)我也许可以将嵌套路由与仅包含单个<nuxt-child>元素的模板一起使用,但是我不确定其副作用:是否仍可以使用页面组件属性?这会将所有内容嵌套在另一个DOM元素中吗?
任何帮助表示赞赏。
好的,只是想出我的“选项3”是前往此处的方法:
创建一个文件_slug.vue并将其添加到与_slug/目录处于同一嵌套级别的页面中:
pages/
--| _slug/
-----| comments.vue
-----| index.vue
--| _slug.vue
Run Code Online (Sandbox Code Playgroud)
在该_slug.vue文件中添加中间件属性:
<template>
<nuxt-child/>
</template>
<script>
export default {
middleware: 'myslugmiddleware',
}
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1194 次 |
| 最近记录: |