Как определить Vue Router Navigation Guard из router-link? - PullRequest
0 голосов
/ 09 мая 2020

Я знаю, что этот навигатор предназначен для «навигации».

Но у меня есть сценарий, в котором я хочу просто скрыть <router-link>, когда он все равно не передаст beforeEnter ... чтобы сэкономить пользователю несколько кликов.

То, что у меня сейчас есть, это добавить meta, чтобы проверить, нуждается ли этот маршрут сначала в проверке, например:

{
   meta: { requiresFoo: true }
}

Затем я буду использовать это, например:

<router-link :to="'/foo'"
             v-slot="{ href, route, navigate }">
    <a v-if="route.meta.requiresFoo ? hasPassedTheGuard() : true"></a>
</router-link>

Но для этого требуется отдельная реализация ... одна от beforeEnter, а другая от router-link компонента.

Я надеялся, что смогу получить к нему доступ, как v-slot="{ href, route, navigate, beforeEnter }" или route.beforeEnter.

...