Не могу проверить route

Проблема следующая: пишу все на composition API. На страницах Login, Register, Reset необходимо НЕ показывать навигацию и футер, на остальных страницах показывать. В компонененте App.vue делаю проверку роута. Если login/register/reset, то присваиваю в стейт navigationDisabled значение true, а по условию v-if отрисовываю или не отрисовываю. Столкнулся с проблемой, что в composition API не достучаться до названию роута через $route.name, необходимо использоваться userRoute() из vue-router. Но useRoute() не успевает отработать, поэтому вызывается checkRoute() по onMounted(), в переменной navgiationDisabled ничего не оказывается. Если в vscode сделать сохранение и не перезагружать страничку, то на этот раз все отработает. Делаю вывод, что код не успевает достать название роута и сравнить его, как уже отрисовывается компонент. Как пофиксить это?

<template>
  <div class="app-wrapper">
    <div class="app">
      <Navigation v-if="!navigationDisabled" />
      <router-view />
      <Footer v-if="!navigationDisabled" />
    </div>
  </div>
</template>

<script setup>
import { ref } from "@vue/reactivity";
import { onMounted } from "vue";
import { useRoute } from "vue-router";
import Navigation from "./components/Navigation.vue";
import Footer from "./components/Footer.vue";

const navigationDisabled = ref(null);

const checkRoute = () => {
  if (
    useRoute().name === "Login" ||
    useRoute().name === "Register" ||
    useRoute().name === "Reset"
  ) {
    navigationDisabled.value = true;
    return;
  }
  navigationDisabled.value = false;
};

onMounted(() => {
  checkRoute();
});
</script>

Ответы (0 шт):