Maison  >  Questions et réponses  >  le corps du texte

Comment arrêter l'exécution du script de configuration rest dans l'API de composition Vue 3

<p>J'ai une sous-page avec un code similaire</p> <pre class="brush:php;toolbar:false;"><configuration du script> importer { injecter } depuis 'vue' importer { useRouter } depuis 'vue-router' const routeur = useRouter() const estQuelque chose = injecter('estQuelque chose') si (!isSomething.value) { router.replace('/une page') } // reste du script d'installation avec beaucoup de code // comme la récupération des données de l'API </script></pre> <p>Cela fonctionne, donc si la condition est fausse, elle sera redirigée. Le problème est que Vue effectue toujours le reste de la configuration du script, comme obtenir tous les événements de données API dont il n'a pas besoin. </p> <p>Existe-t-il un moyen « d’arrêter » la configuration d’un script ? </p> <p>Je ne peux pas utiliser de middleware pour cela car ma condition est basée sur une variable ref fournie par la page parent. Si j'essaie de l'injecter au niveau du hook du routeur, ce n'est pas défini. </p>
P粉032977207P粉032977207414 Il y a quelques jours500

répondre à tous(1)je répondrai

  • P粉334721359

    P粉3347213592023-09-01 09:54:24

    C'est fait comme partout ailleurs en JavaScript :

    if (!isSomething.value) {
      router.replace('/somepage')
    } else {
      // rest of setup script with a lot of code
    }

    La présence de « beaucoup de code » suggère que le composant de vue peut être refactorisé pour contenir uniquement le code nécessaire au routage, et le reste peut être extrait dans des composants imbriqués.

    répondre
    0
  • Annulerrépondre