Rumah hujung hadapan web View.js Cara mengendalikan komponen yang dimuatkan secara dinamik dan dimuatkan secara malas dalam Vue

Cara mengendalikan komponen yang dimuatkan secara dinamik dan dimuatkan secara malas dalam Vue

Oct 15, 2023 pm 12:27 PM
komponen dinamik Pemuatan komponen yang malas vue komponen tak segerak

Cara mengendalikan komponen yang dimuatkan secara dinamik dan dimuatkan secara malas dalam Vue

Cara mengendalikan komponen yang dimuatkan secara dinamik dan dimuatkan secara malas dalam Vue

Dalam proses membangunkan projek menggunakan Vue, kami sering menghadapi keperluan untuk komponen yang dimuatkan secara dinamik dan dimuatkan secara malas. Pemuatan dinamik komponen merujuk kepada memutuskan sama ada untuk memuatkan komponen berdasarkan keadaan atau peristiwa, manakala pemuatan malas merujuk kepada memuatkan fail kod komponen atas permintaan dan bukannya memuatkan kod semua komponen apabila halaman dipaparkan pada mulanya. Artikel ini akan memperkenalkan cara mengendalikan komponen yang dimuatkan secara dinamik dan malas dalam Vue dan memberikan contoh kod khusus.

1. Muatkan komponen secara dinamik

1 Gunakan arahan v-if

Dalam Vue, anda boleh menggunakan arahan v-if untuk menukar pemuatan komponen secara dinamik. Sebagai contoh, kami memuatkan komponen berbeza berdasarkan status log masuk pengguna:

<template>
  <div>
    <div v-if="loggedIn">
      <login-success></login-success>
    </div>
    <div v-else>
      <login-form></login-form>
    </div>
  </div>
</template>

<script>
import LoginSuccess from './LoginSuccess.vue';
import LoginForm from './LoginForm.vue';

export default {
  data() {
    return {
      loggedIn: false
    }
  },
  components: {
    LoginSuccess,
    LoginForm
  }
}
</script>
Salin selepas log masuk

Dalam kod di atas, kami menentukan sama ada pengguna log masuk berdasarkan nilai log Masuk Jika log masuk, komponen LoginSuccess dipaparkan, jika tidak, Log Masuk komponen dipaparkan.

2. Gunakan komponen dinamik

Selain menggunakan arahan v-if, Vue juga menyediakan komponen dinamik untuk mencapai pemuatan komponen yang dinamik. Sebagai contoh, muatkan komponen yang sepadan mengikut item menu berbeza yang dipilih oleh pengguna:

<template>
  <div>
    <component :is="currentComponent"></component>
    <ul>
      <li @click="currentComponent = 'Home'">Home</li>
      <li @click="currentComponent = 'About'">About</li>
      <li @click="currentComponent = 'Contact'">Contact</li>
    </ul>
  </div>
</template>

<script>
import Home from './Home.vue';
import About from './About.vue';
import Contact from './Contact.vue';

export default {
  data() {
    return {
      currentComponent: 'Home'
    }
  },
  components: {
    Home,
    About,
    Contact
  }
}
</script>
Salin selepas log masuk

Dalam kod di atas, kami menggunakan komponen komponen dalam Vue dan secara dinamik mengikat komponen yang perlu dimuatkan pada masa ini melalui atribut :is.

2. Malas memuatkan komponen

Malas memuatkan komponen bermakna hanya kod komponen yang perlu dipaparkan pada masa ini dimuatkan semasa pemaparan awal halaman, bukannya memuatkan kod semua komponen sekaligus. Ini boleh meningkatkan kelajuan pemuatan dan prestasi halaman dengan sangat baik.

Vue menyediakan komponen tak segerak dan Penghala Vue untuk melaksanakan pemuatan malas komponen.

1. Komponen Asynchronous

Dalam Vue, anda boleh menggunakan fungsi pemisahan kod pek web untuk melaksanakan pemuatan malas komponen. Contohnya:

// 使用import()函数来异步加载组件
const AsyncComponent = () => import('./AsyncComponent.vue');
Salin selepas log masuk

Dalam kod di atas, gunakan fungsi import() untuk memuatkan komponen AsyncComponent secara tidak segerak. Semasa membina projek, webpack akan membungkus AsyncComponent ke dalam fail berasingan dan bukannya membungkusnya dengan komponen lain dalam fail utama.

2.Vue Router

Vue Router juga boleh melaksanakan pemuatan malas komponen. Dalam konfigurasi penghalaan, anda boleh menggunakan fungsi import() untuk memuatkan komponen secara tidak segerak, seperti:

const router = new VueRouter({
  routes: [
    {
      path: '/home',
      component: () => import('./Home.vue')
    },
    {
      path: '/about',
      component: () => import('./About.vue')
    },
    {
      path: '/contact',
      component: () => import('./Contact.vue')
    }
  ]
});
Salin selepas log masuk

Dalam kod di atas, kaedah pemuatan asynchronous Router Vue digunakan Apabila pengguna mengakses laluan yang sepadan, komponen yang sepadan akan dimuatkan secara tidak segerak .

Ringkasan:

Dalam Vue, pemuatan dinamik dan pemuatan malas komponen adalah keperluan yang sangat biasa. Komponen yang dimuatkan secara dinamik boleh dilaksanakan menggunakan arahan v-if dan komponen dinamik, dan komponen pemuatan malas boleh dilaksanakan menggunakan komponen tak segerak dan Penghala Vue. Dengan menggunakan teknologi ini secara fleksibel, anda boleh meningkatkan prestasi projek anda dan pengalaman pengguna.

Di atas adalah pengenalan kepada cara mengendalikan komponen yang dimuatkan secara dinamik dan malas dalam Vue, saya harap ia akan membantu anda.

Atas ialah kandungan terperinci Cara mengendalikan komponen yang dimuatkan secara dinamik dan dimuatkan secara malas dalam Vue. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah kaedah menukar rentetan vue.js ke dalam objek? Apakah kaedah menukar rentetan vue.js ke dalam objek? Apr 07, 2025 pm 09:18 PM

Menggunakan json.parse () rentetan ke objek adalah yang paling selamat dan paling efisien: pastikan rentetan mematuhi spesifikasi JSON dan mengelakkan kesilapan biasa. Gunakan cuba ... menangkap untuk mengendalikan pengecualian untuk meningkatkan keteguhan kod. Elakkan menggunakan kaedah eval (), yang mempunyai risiko keselamatan. Untuk rentetan JSON yang besar, parsing parsing atau parsing tak segerak boleh dipertimbangkan untuk mengoptimumkan prestasi.

Vue.js vs React: Pertimbangan khusus projek Vue.js vs React: Pertimbangan khusus projek Apr 09, 2025 am 12:01 AM

Vue.js sesuai untuk projek kecil dan sederhana dan lelaran yang cepat, sementara React sesuai untuk aplikasi besar dan kompleks. 1) Vue.js mudah digunakan dan sesuai untuk situasi di mana pasukan tidak mencukupi atau skala projek kecil. 2) React mempunyai ekosistem yang lebih kaya dan sesuai untuk projek dengan prestasi tinggi dan keperluan fungsional yang kompleks.

Adakah vue.js sukar belajar? Adakah vue.js sukar belajar? Apr 04, 2025 am 12:02 AM

Vue.js tidak sukar untuk dipelajari, terutamanya bagi pemaju dengan asas JavaScript. 1) Reka bentuk progresif dan sistem responsif memudahkan proses pembangunan. 2) Pembangunan berasaskan komponen menjadikan pengurusan kod lebih cekap. 3) Contoh penggunaan menunjukkan penggunaan asas dan lanjutan. 4) Kesilapan biasa boleh disahpepijat melalui Vuedevtools. 5) Pengoptimuman prestasi dan amalan terbaik, seperti menggunakan V-IF/V-Show dan atribut utama, boleh meningkatkan kecekapan aplikasi.

Adakah Vue digunakan untuk frontend atau backend? Adakah Vue digunakan untuk frontend atau backend? Apr 03, 2025 am 12:07 AM

Vue.js terutamanya digunakan untuk pembangunan front-end. 1) Ia adalah rangka kerja JavaScript yang ringan dan fleksibel yang difokuskan pada membina antara muka pengguna dan aplikasi satu halaman. 2) Inti Vue.js adalah sistem data responsifnya, dan pandangannya dikemas kini secara automatik apabila data berubah. 3) Ia menyokong pembangunan komponen, dan UI boleh dibahagikan kepada komponen bebas dan boleh diguna semula.

Cara menggunakan bootstrap di vue Cara menggunakan bootstrap di vue Apr 07, 2025 pm 11:33 PM

Menggunakan bootstrap dalam vue.js dibahagikan kepada lima langkah: Pasang bootstrap. Import bootstrap di main.js. Gunakan komponen bootstrap secara langsung dalam templat. Pilihan: Gaya tersuai. Pilihan: Gunakan pemalam.

Cara menambah fungsi ke butang untuk vue Cara menambah fungsi ke butang untuk vue Apr 08, 2025 am 08:51 AM

Anda boleh menambah fungsi ke butang VUE dengan mengikat butang dalam templat HTML ke kaedah. Tentukan kaedah dan tulis logik fungsi dalam contoh Vue.

Cara merujuk fail js dengan vue.js Cara merujuk fail js dengan vue.js Apr 07, 2025 pm 11:27 PM

Terdapat tiga cara untuk merujuk kepada fail JS dalam vue.js: Secara langsung tentukan jalan menggunakan & lt; skrip & gt; tag ;; import dinamik menggunakan cangkuk kitaran hayat yang dipasang (); dan mengimport melalui Perpustakaan Pengurusan Negeri VUEX.

Cara Menggunakan Watch di Vue Cara Menggunakan Watch di Vue Apr 07, 2025 pm 11:36 PM

Pilihan Watch di Vue.js membolehkan pemaju mendengar perubahan dalam data tertentu. Apabila data berubah, tontonkan mencetuskan fungsi panggil balik untuk melakukan paparan kemas kini atau tugas lain. Pilihan konfigurasinya termasuk segera, yang menentukan sama ada untuk melaksanakan panggilan balik dengan serta -merta, dan mendalam, yang menentukan sama ada untuk mendengarkan secara rekursif terhadap objek atau tatasusunan.

See all articles