更改 Nuxt.js 中间件中的内容
Posted
技术标签:
【中文标题】更改 Nuxt.js 中间件中的内容【英文标题】:Change the content in Nuxt.js middleware 【发布时间】:2022-01-20 21:29:24 【问题描述】:有没有办法在中间件中改变响应的内容(例如页面)?
我还应该提到我不想推送新路由(更改 URL)。
【问题讨论】:
你能在这里更明确一点吗?另外,到目前为止,您尝试了什么? @kissu 我有一个中间件,它检查用户是否有正确的权限,如果没有,我想用别的东西替换页面的内容。我不想更改整个响应(例如布局),只想更改<nuxt />
。
如果用户没有足够的权限,您可以$router.push
到另一个页面。可能是这样的:***.com/a/68943001/8816585 此外,官方文档非常擅长解释这一点:nuxtjs.org/docs/directory-structure/middleware
@kissu 这就是重点;我不想导航用户(更改 URL)。
我不确定这样的东西怎么可能是干净的,因为它会带来一些严重的副作用。这可能取决于您的模板和数据,但仅使用此类信息,它看起来并不是最好的做法。
【参考方案1】:
在中间件中改变页面内容(我猜是某种 Express-y 方式),同时保持在同一条路线上,这不是您通常在前端做的事情。从未见过它,它是一个非常好的反模式 IMO。
您可以通过包装整个模板来制作丑陋的条件。
最好的方法是从后端接收不同的有效负载并在前端适应它。
【讨论】:
以上是关于更改 Nuxt.js 中间件中的内容的主要内容,如果未能解决你的问题,请参考以下文章
nuxt.js middleware 中间件实现判断手机端跳转
*Nuxt JS Auth* 为啥在模板部分使用 loginWith 成功登录后 auth.loggedIn 为真,但在中间件文件中为假?