Comment arrêter l'exécution du script de configuration rest dans l'API de composition Vue 3
P粉032977207
2023-08-31 21:47:24
<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>
C'est fait comme partout ailleurs en JavaScript :
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.