Bagaimana untuk menghentikan pelaksanaan baki skrip persediaan dalam api komposisi Vue 3
P粉032977207
2023-08-31 21:47:24
<p>Saya mempunyai subhalaman dengan kod serupa</p>
<pre class="brush:php;toolbar:false;"><setup script>
import { inject } daripada 'vue'
import { useRouter } daripada 'vue-router'
penghala const = useRouter()
const isSomething = inject('isSomething')
jika (!isSomething.value) {
router.replace('/somepage')
}
// baki skrip persediaan dengan banyak kod
// seperti pengambilan data api
</script></pre>
<p>Ia berfungsi, jadi jika syarat itu palsu, ia akan mengubah hala. Masalahnya ialah - Vue masih melakukan persediaan skrip yang lain, seperti mendapatkan semua peristiwa data API yang tidak diperlukannya. </p>
<p>Adakah terdapat cara untuk "menghentikan" persediaan skrip? </p>
<p>Saya tidak boleh menggunakan middleware untuk ini kerana keadaan saya adalah berdasarkan pembolehubah ref yang disediakan oleh halaman induk. Jika saya cuba menyuntiknya pada tahap cangkuk penghala - ia tidak ditentukan. </p>
Ia dilakukan seperti mana-mana tempat lain dalam JavaScript:
Kehadiran "banyak kod" menunjukkan bahawa komponen paparan boleh difaktorkan semula untuk mengandungi hanya kod yang diperlukan untuk penghalaan, dan selebihnya boleh diekstrak ke dalam komponen bersarang.