Vue 在验证验证之前阻止页面呈现

Vue prevent page rendering until auth validated

我有一个长期存在的 vue 应用程序,它使用第 3 方登录供人们进行身份验证。我们需要解决的一个问题是,当用户通过 link 点击给定页面时,在用户被重定向到第 3 方进行身份验证之前,该页面会短暂地以半渲染状态显示。 'container' 渲染正常,但不是页面的主要内容。我可以将授权检查代码移动到生命周期的早期部分,但闪烁永远不会完全消失。

Vue 中是否有惯用的方法来阻止页面的主要内容在其他一些验证(例如 auth creds)完成之前呈现?是否有专门用于身份验证和身份验证重定向的标准流程?

如果您还没有尝试过,我建议您通过 nav guard 验证身份验证,前提是您使用的是 vue-router。我还建议用父组件包装 'secret' 组件,并使用 beforeEnter

在父组件上验证身份验证