vue.js - 有什么方法可以获取当前页面的 nuxt.js 中间件?
问题描述
我很好奇我们是否可以从任何组件访问当前页面的中间件?
解决方案
中间件在组件之前执行,并且不会以任何方式在组件内初始化。
更新:auth
在存储中保持中间件的状态。
export const state = () => ({
isPrivate: false,
})
export const mutations = {
setPrivatePage(state, value) {
state.isPrivate = value
},
}
export const actions = {
privatePage({ commit }) {
commit('setPrivatePage', true)
},
publicPage({ commit }) {
commit('setPrivatePage', false)
},
}
middleware/auth
在to set中调度操作isPrivate
:
await store.dispatch('auth/privatePage')
我添加了另一个名为的中间件将public
其设置回false
export default async ({ store }) => {
await store.dispatch('auth/publicPage')
}
最后要触发public
每条路线,将其添加到nuxt.config.js
:
// Router
router: {
middleware: 'public',
},
推荐阅读
- leaflet - 从给定的 2 个对角点创建传单矩形
- adobe - Adobe AEM 存储库上的 Tar 压缩活动被卡住
- python - 如何在 python 中使用 selenium IDE
- python - 如何使用 QtWebEngine 获取网页的标题
- google-cloud-storage - Google Cloud Storage 中的列表对象是如何计算的?
- python - 无法在我的单元测试文件夹中导入 python 函数
- visual-studio-code - VS Code - 如何隐藏内联警告消息?
- logging - 尝试记录超过 8000 个字符的缓冲区时出现 log4cplus::SocketAppender 错误
- javascript - 如何制作过滤的Api列表并在反应中实现无限滚动的分页
- ruby-on-rails - 在 RSpec 匹配器中,如何使在模型回调中创建的实例可用