Bagaimana untuk menghentikan pelaksanaan baki skrip persediaan dalam api komposisi Vue 3
P粉032977207
P粉032977207 2023-08-31 21:47:24
0
1
533
<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>
P粉032977207
P粉032977207

membalas semua(1)
P粉334721359

Ia dilakukan seperti mana-mana tempat lain dalam JavaScript:

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

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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan