Rumah > Artikel > hujung hadapan web > Bagaimanakah vue3 menyelesaikan masalah pemuatan berlebihan dalam setiap adegan?
Adalah paling mudah untuk memuatkan kandungan apabila halaman itu dibuka. Mula-mula dibuka. Tambah kandungan dalam index.html
melalui direktori akar
64fb6a03fb5631519b8db02f6a431454
, iaitu kandungan yang berlebihan
<body> <div id="app"> <h2>加载中......</h2> </div> <script type="module" src="/src/main.js"></script> </body>
Apabila contoh vue dibuat, lekapkannya pada div .mount()
melalui kaedah id='app'
, kandungan loading
di dalam akan diganti;
perlu difahami. satu perkara dahulu, vue3
Komponen terbina dalam bb06e69d307cb52103d07d8f9dd385e5
;
bb06e69d307cb52103d07d8f9dd385e5
menyediakan slot 2
A kandungan untuk dimuatkan;
: Kandungan yang dimuatkan untuk dipaparkan;
<Suspense> <template #default> <router-view /> </template> <template #fallback> <h2>加载中......</h2> </template> </Suspense>
#default
Komponen tak segerak juga boleh menggunakan kaedah yang samaUntuk menambah animasi peralihan, anda perlu terlebih dahulu memahami#fallback
komponen terbina dalam
: Sangat mudah hanya ada satu untuk memaparkan komponen, yang boleh digunakan untuk menukar komponen Sebagai contoh:
<template> <Suspense> <template #default> <AsyncComp v-if = 'vitblie' /> </template> <template #fallback> <h2>加载中......</h2> </template> </Suspense> <button @click='open'> 切换 </button> </template> <script setup> import { defineAsyncComponent , ref } from 'vue'; const asyncComp = defineAsyncComponent(()=>important('./asyncComp.vue)); const vitblie = ref(false); function open(){ vitblie.value = !vitblie.value; } </script>: Sisipkan di dalam Kandungan
untuk menyambung vue3
seperti: 9366e37985177da7839522e36133b6c8
<template> <Component :is="visible ? TestComp : '' " /> </template>
87a2e53b90599db3250d06933523db3b
Tetapkan gaya melalui atribut di sini 9366e37985177da7839522e36133b6c8
is
hide=> tunjukkan 87a2e53b90599db3250d06933523db3b
masa peralihan dan parameter lain) : keadaan peralihan (set name
show=> sembunyikan class
masa peralihan dan parameter lain)
name
=>
Sembunyikan => Tunjukkangaya mula dan akhir
anime-enter-active
=> 🎜> Tunjukkan => Sembunyikan
Gaya mula dan tamatanime-leave-active
digabungkan????<template> <transition name='anime'> <TestComp v-if='visblte' /> </transition> </template>
Atas ialah kandungan terperinci Bagaimanakah vue3 menyelesaikan masalah pemuatan berlebihan dalam setiap adegan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!