背景: vue プロジェクトが vue ルーターを使用してログアウトしてログインした後、ルートがクリアされない
現在のルーターのマッチャーを置き換えるために公式のresetRouterで初期化されたマッチャーが機能しません
// Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465
export function resetRouter() {
const newRouter = createRouter()
router.matcher = newRouter.matcher // reset router
}
解決
ログアウト時に現在のページを直接更新します
this.$router.replace({
path: '/login'});
location.reload();
残忍かつ効果的