我目前正在使用nuxt 2.7.1作为我的学士论文的一部分开发SPA Web应用程序。
在我的某些页面上,我设置了interface Parent{
void methodOne();
void methodtwo();
}
导航保护以检查用户是否可以访问该页面。如果没有,我想将用户重定向到动态路由(即beforeRouteEnter
)。
访问受导航保护的页面时,Nuxt显示错误页面,指出/info/1
,尽管URL是正确的,并且在错误页面上的简单重新加载正确地引导我进入了动态路线。
我目前正在通过以下方式使用导航卫士:
This page could not be found
为澄清起见,我的目录结构如下:
beforeRouteEnter(to, from, next) {
if (!isValidAccess()) {
console.warn("illegal access");
next(`/info/1`);
} else next();
}
我尝试尝试传递给pages
|__ info
| |__ _index.vue (redirect target)
|__ shop
|__ _index.vue (with navigation guard)
的参数,但到目前为止没有成功。在目标路由中实现另一个next()
并记录beforeRouteEnter
参数时,一切似乎都很正常。
我希望你们能帮助我。我已经在这个问题上花了太多时间。
最诚挚的问候
编辑:
我创建了一个最小的示例,其中到动态路由的路由工作没有问题... https://codesandbox.io/embed/codesandboxnuxt-t1d0e
找到问题的解决方案时,我会更新问题。
答案 0 :(得分:0)
这对我有用-在目标网页(索引)上,您被重定向到/info/1
动态路由。这就是你想要的吗?
https://codesandbox.io/embed/codesandboxnuxt-vvbrt
我唯一要做的就是将动态路由包装在<no-ssr>
标记中,以消除错误。您的组件与SSR不兼容。