Jadual Kandungan
1. Kata Pengantar
1-1 Tiga perubahan:
1-2 Sebab untuk memperkenalkan fungsi tambahan defineAsyncComponent:
2. Perbandingan takrifan Vue 2.x dan Vue 3.x
2-1. -1 -1. Dalam Vue 2.x, isytiharkan komponen tak segerak seperti ini:
2-2-1 .x ialah Cara pengisytiharan yang lebih maju. Seperti berikut:
2-3-1 selesaikan dan tolak:
Rumah hujung hadapan web View.js Cara menggunakan pemuatan malas komponen dan penghalaan tak segerak vue3 vite

Cara menggunakan pemuatan malas komponen dan penghalaan tak segerak vue3 vite

May 18, 2023 pm 04:52 PM
vue3 vite

1. Kata Pengantar

1-1 Tiga perubahan:

  • Perubahan dalam kaedah pengisytiharan komponen tak segerak: Vue 3.x menambah fungsi tambahan baru defineAsyncComponent, Digunakan untuk mengisytiharkan komponen tak segerak secara eksplisit

  • Pilihan komponen dalam kaedah pengisytiharan lanjutan komponen tak segerak dinamakan semula kepada pemuat

  • Fungsi pemuatan komponen terikat oleh pemuat bukan Kemudian terima parameter tentukan dan tolak, dan mesti mengembalikan Janji

1-2 Sebab untuk memperkenalkan fungsi tambahan defineAsyncComponent:

Sekarang, dalam. Vue 3, disebabkan oleh fungsi Komponen ditakrifkan sebagai fungsi tulen, takrifan komponen async perlu ditakrifkan secara eksplisit dengan membungkusnya dalam pembantu defineAsyncComponent baharu.

2. Perbandingan takrifan Vue 2.x dan Vue 3.x

2-1. -1 -1. Dalam Vue 2.x, isytiharkan komponen tak segerak seperti ini:

  • const asyncPage = () => import('./views/home.vue')
    Salin selepas log masuk
    Salin selepas log masuk

  • 2-1-2, Import komponen tak segerak memerlukan pengisytiharan eksplisit menggunakan fungsi tambahan defineAsyncComponent. Seperti berikut:
  • <template>
      <div>
        <h2>Async Components</h2>
        <p>异步组件测试</p>
        <child />
      </div>
    </template>
    <script>
    import { defineAsyncComponent } from &#39;vue&#39;
    const child = defineAsyncComponent(() => import(&#39;@/components/async-component-child.vue&#39;))
    export default {
      name: &#39;async-components&#39;,
      components:{
        &#39;child&#39;: child
      }
    };
    </script>
    Salin selepas log masuk

    2-2 Perbandingan kaedah pengisytiharan

2-2-1 .x ialah Cara pengisytiharan yang lebih maju. Seperti berikut:

  • const asyncPageWithOptions  = {
      component: () => import(&#39;./views/home.vue&#39;),
      delay: 200,
      timeout: 3000,
      error: ErrorComponent,
      loading: LoadingComponent
    }
    Salin selepas log masuk

    Jadi, pengisytiharan komponen tak segerak berikut:

    const asyncPage = () => import(&#39;./views/home.vue&#39;)
    Salin selepas log masuk
    Salin selepas log masuk
  • bersamaan dengan:
const asyncPageWithOptions  = {
  component: () => import(&#39;./views/home.vue&#39;)
}
Salin selepas log masuk

2- 2 -2 Komponen tak segerak juga boleh diisytiharkan seperti ini dalam Vue 3.x. Hanya komponen yang perlu ditukar kepada pemuat. Seperti berikut:

  • const asyncPageWithOptions  = defineAsyncComponent({
      loader: () => import(&#39;./views/home.vue&#39;),
      delay: 200,
      timeout: 3000,
      error: ErrorComponent,
      loading: LoadingComponent
    })
    Salin selepas log masuk

    2-3 Fungsi pemuatan komponen tak segerak mengembalikan perbandingan

2-3-1 selesaikan dan tolak:

  • // 2.x version
    const oldAsyncComponent = (resolve, reject) => {
      /* ... */
    }
    Salin selepas log masuk

  • 2-3-2 Sentiasa kembalikan Janji dalam Vue 3.x:
  • // 3.x version
    const asyncComponent = defineAsyncComponent(
      () => new Promise((resolve, reject) => {
          /* ... */
      })
    )
    Salin selepas log masuk
    < 🎜. >Fungsi pemuatan komponen asynchronous Vue 3.x tidak akan menerima penyelesaian dan penolakan lagi, dan mesti sentiasa mengembalikan Promise. Dalam erti kata lain, dalam Vue 3.x, ia tidak lagi disokong untuk menerima panggilan balik penyelesaian melalui fungsi kilang untuk menentukan komponen tak segerak.

    // 在 Vue 3.x 中不适用
    export default {
      components: {
        asyncPage: resolve => require([&#39;@/components/list.vue&#39;], resolve)
      },
    }
    Salin selepas log masuk

    3. Latihan Vue3
Petua: Jika anda menggunakan alat vite untuk membina projek, gunakan import untuk melakukan penghalaan pemuatan malas semasa pembangunan tempatan Ia boleh dimuatkan seperti biasa, tetapi amaran akan dilaporkan; membungkusnya untuk pengeluaran Persekitaran akan melaporkan ralat dan halaman tidak akan dipaparkan seperti biasa Anda boleh menggunakan dua kaedah berikut untuk mencapainya.

3-1. Menghalakan pelaksanaan pemuatan malas

3-1-1.defineAsyncComponent method

    // router/index.js
    import { defineAsyncComponent } from &#39;vue&#39;
    const _import = (path) => defineAsyncComponent(() => import(`../views/${path}.vue`));
    const routes = [
      {
        path: &#39;/async-component&#39;,
        name: &#39;asyncComponent&#39;,
        component: _import(&#39;home&#39;),
      }
    ];
    Salin selepas log masuk
  • kaedah 3-1-2.import.meta.glob
    // 1.上面的方法相当于一次性加载了 views 目录下的所有.vue文件,返回一个对象
    const modules = import.meta.glob(&#39;../views/*/*.vue&#39;);
    const modules ={
        "../views/about/index.vue": () => import("./src/views/about/index.vue")
    }
    // 2.动态导入的时候直接,引用
    const router = createRouter({
      history: createWebHistory(),
      routes: [
        // ...
        {
          path: &#39;xxxx&#39;,
          name: &#39;xxxxx&#39;,
          // 原来的方式,这个在开发中可行,但是生产中不行
          // component: () => import(`../views${menu.file}`),
          // 改成下面这样
          component: modules[`../views${filename}`]
        }
        // ...          
      ],
    })
    Salin selepas log masuk
  • 3-2 Pelaksanaan komponen tak segerak

    <template>
      <div>
        <h2>Async Components</h2>
        <p>异步组件测试</p>
        <child></child>
      </div>
    </template>
    <script>
    import { defineAsyncComponent } from &#39;vue&#39;
    const child = defineAsyncComponent(() => import(&#39;@/components/async-component-child.vue&#39;))
    export default {
      name: &#39;async-components&#39;,
      components:{
        &#39;child&#39;: child
      }
    };
    </script>
    Salin selepas log masuk

Atas ialah kandungan terperinci Cara menggunakan pemuatan malas komponen dan penghalaan tak segerak vue3 vite. 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)

Kemahiran pembangunan Vue3+TS+Vite: cara mengoptimumkan SEO Kemahiran pembangunan Vue3+TS+Vite: cara mengoptimumkan SEO Sep 10, 2023 pm 07:33 PM

Kemahiran pembangunan Vue3+TS+Vite: Cara melakukan pengoptimuman SEO SEO (SearchEngineOptimization) merujuk kepada mengoptimumkan struktur, kandungan dan kata kunci tapak web untuk meletakkannya lebih tinggi dalam enjin carian, dengan itu meningkatkan trafik dan pendedahan tapak web . Dalam pembangunan teknologi hadapan moden seperti Vue3+TS+Vite, cara mengoptimumkan SEO adalah isu yang sangat penting. Artikel ini akan memperkenalkan beberapa teknik dan kaedah pembangunan Vue3+TS+Vite untuk membantu

vue3+vite: Bagaimana untuk menyelesaikan ralat apabila menggunakan memerlukan untuk mengimport imej secara dinamik dalam src vue3+vite: Bagaimana untuk menyelesaikan ralat apabila menggunakan memerlukan untuk mengimport imej secara dinamik dalam src May 21, 2023 pm 03:16 PM

Penggunaan vue3+vite:src memerlukan pengimportan imej secara dinamik dan laporan ralat dan penyelesaian vue3+vite secara dinamik Jika vue3 dibangunkan menggunakan skrip taip, akan terdapat mesej ralat untuk keperluan untuk memperkenalkan imej tidak boleh digunakan :require(' .../assets/test.png') diimport kerana typescript tidak menyokong require, jadi import digunakan Berikut ialah cara menyelesaikannya: gunakan awaitimport

Cara memuat semula sebahagian kandungan halaman dalam Vue3 Cara memuat semula sebahagian kandungan halaman dalam Vue3 May 26, 2023 pm 05:31 PM

Untuk mencapai muat semula separa halaman, kami hanya perlu melaksanakan pemaparan semula komponen setempat (dom). Dalam Vue, cara paling mudah untuk mencapai kesan ini ialah menggunakan arahan v-if. Dalam Vue2, selain menggunakan arahan v-if untuk memaparkan semula dom setempat, kami juga boleh mencipta komponen kosong baharu Apabila kami perlu memuat semula halaman setempat, lompat ke halaman komponen kosong ini dan kemudian masuk semula pengawal beforeRouteEnter dalam komponen kosong. Seperti yang ditunjukkan dalam rajah di bawah, cara mengklik butang muat semula dalam Vue3.X untuk memuatkan semula DOM dalam kotak merah dan memaparkan status pemuatan yang sepadan. Memandangkan pengawal dalam komponen dalam sintaks persediaan skrip dalam Vue3.X hanya mempunyai o

Kemahiran pembangunan Vue3+TS+Vite: cara menjalankan perlindungan keselamatan bahagian hadapan Kemahiran pembangunan Vue3+TS+Vite: cara menjalankan perlindungan keselamatan bahagian hadapan Sep 09, 2023 pm 04:19 PM

Kemahiran pembangunan Vue3+TS+Vite: Cara melaksanakan perlindungan keselamatan bahagian hadapan Dengan pembangunan berterusan teknologi bahagian hadapan, semakin banyak syarikat dan individu mula menggunakan Vue3+TS+Vite untuk pembangunan bahagian hadapan. Walau bagaimanapun, risiko keselamatan yang datang dengannya juga telah menarik perhatian orang ramai. Dalam artikel ini, kami akan membincangkan beberapa isu keselamatan bahagian hadapan biasa dan berkongsi beberapa petua tentang cara melindungi keselamatan bahagian hadapan semasa proses pembangunan Vue3+TS+Vite. Pengesahan input Input pengguna selalunya merupakan salah satu sumber utama kelemahan keselamatan bahagian hadapan. wujud

Kemahiran pembangunan Vue3+TS+Vite: cara mengoptimumkan permintaan merentas domain dan permintaan rangkaian Kemahiran pembangunan Vue3+TS+Vite: cara mengoptimumkan permintaan merentas domain dan permintaan rangkaian Sep 09, 2023 pm 04:40 PM

Kemahiran pembangunan Vue3+TS+Vite: Cara mengoptimumkan permintaan merentas domain dan permintaan rangkaian Pengenalan: Dalam pembangunan bahagian hadapan, permintaan rangkaian adalah operasi yang sangat biasa. Cara mengoptimumkan permintaan rangkaian untuk meningkatkan kelajuan pemuatan halaman dan pengalaman pengguna ialah salah satu isu yang perlu difikirkan oleh pembangun kami. Pada masa yang sama, untuk beberapa senario yang memerlukan penghantaran permintaan kepada nama domain yang berbeza, kami perlu menyelesaikan isu merentas domain. Artikel ini akan memperkenalkan cara membuat permintaan merentas domain dan teknik pengoptimuman permintaan rangkaian dalam persekitaran pembangunan Vue3+TS+Vite. 1. Penyelesaian permintaan merentas domain

Cara Vue3 menghuraikan penurunan harga dan melaksanakan penyerlahan kod Cara Vue3 menghuraikan penurunan harga dan melaksanakan penyerlahan kod May 20, 2023 pm 04:16 PM

Vue melaksanakan bahagian hadapan blog dan perlu melaksanakan penghuraian markdown Jika terdapat kod, ia perlu melaksanakan penyerlahan kod. Terdapat banyak pustaka parsing markdown untuk Vue, seperti markdown-it, vue-markdown-loader, marked, vue-markdown, dsb. Perpustakaan ini semuanya sangat serupa. Ditanda digunakan di sini, dan highlight.js digunakan sebagai pustaka penonjolan kod. Langkah-langkah pelaksanaan khusus adalah seperti berikut: 1. Pasang perpustakaan bergantung Buka tetingkap arahan di bawah projek vue dan masukkan arahan berikut npminstallmarked-save//marked untuk menukar markdown ke htmlnpmins.

Kemahiran pembangunan Vue3+TS+Vite: cara menyulitkan dan menyimpan data Kemahiran pembangunan Vue3+TS+Vite: cara menyulitkan dan menyimpan data Sep 10, 2023 pm 04:51 PM

Petua pembangunan Vue3+TS+Vite: Cara menyulitkan dan menyimpan data Dengan perkembangan pesat teknologi Internet, keselamatan data dan perlindungan privasi menjadi semakin penting. Dalam persekitaran pembangunan Vue3+TS+Vite, cara menyulitkan dan menyimpan data adalah masalah yang perlu dihadapi oleh setiap pembangun. Artikel ini akan memperkenalkan beberapa teknik penyulitan dan storan data biasa untuk membantu pembangun meningkatkan keselamatan aplikasi dan pengalaman pengguna. 1. Penyulitan Data Penyulitan Data Bahagian Hadapan Penyulitan Bahagian Hadapan ialah bahagian penting dalam melindungi keselamatan data. Biasa digunakan

Cara menggunakan vue3+ts+axios+pinia untuk mencapai penyegaran yang tidak masuk akal Cara menggunakan vue3+ts+axios+pinia untuk mencapai penyegaran yang tidak masuk akal May 25, 2023 pm 03:37 PM

vue3+ts+axios+pinia menyedari penyegaran yang tidak masuk akal 1. Mula-mula muat turun aiXos dan pinianpmipinia dalam projek--savenpminstallaxios--save2. AxiosResponse}daripada"axios";importaxiosfrom'axios';import{ElMess

See all articles