Vue · Middle · Frage 42 von 75
Wie nutzt man einen Store außerhalb einer Komponente, z. B. in einem Router-Guard?
router.beforeEach((to) => {
const auth = useAuthStore();
if (to.meta.requiresAuth && !auth.user) return "/login";
});- 1
useStore()in einer Funktion aufrufen, nachdem Pinia installiert ist - 2Gar nicht: Stores funktionieren nur in Komponenten
- 3Die beim Laden des Moduls erzeugte Store-Instanz importieren
Antwort zeigen
Richtige Antwort: useStore() in einer Funktion aufrufen, nachdem Pinia installiert ist
Erklärung
Auf oberster Modulebene ist die Pinia-Instanz eventuell noch nicht aktiv (und beim SSR würde sie zwischen Anfragen geteilt). Ruft man den Hook im Guard auf, nutzt er die aktive Pinia der App.