cari
Rumahmasalah biasaBerapa banyak komponen utama yang ada pada vue?

Vue mempunyai 4 komponen utama: 1. Komponen global Gunakan kaedah "app.component(...)" untuk mendaftarkan komponen global boleh digunakan dalam mana-mana templat komponen aplikasi. 2. Komponen tempatan ialah komponen yang didaftarkan dalam pilihan "komponen" bagi komponen (induk). 3. Komponen dinamik merujuk kepada komponen dengan nama yang berbeza yang diberikan berdasarkan nilai pengikatan yang berbeza kepada atribut tersebut. 4. Komponen tak segerak tidak dipaparkan serta-merta apabila halaman dimuatkan, sebaliknya, mereka menunggu sehingga beberapa logik perniagaan selesai sebelum melaksanakan logik dalam komponen dan memaparkannya ke halaman.

Berapa banyak komponen utama yang ada pada vue?

Persekitaran pengendalian tutorial ini: sistem windows7, versi vue3, komputer DELL G3.

Komponen Vue pada asasnya adalah contoh dengan pilihan yang telah ditetapkan Kami menggunakan komponen yang kecil, bebas dan biasanya boleh digunakan semula, dipasang lapisan demi lapisan, dan akhirnya membentuk halaman yang lengkap.

Komponen mesti didaftarkan terlebih dahulu supaya aplikasi Vue boleh mengenalinya Terdapat dua jenis pendaftaran komponen:

  • Pendaftaran global
  • Pendaftaran separa
  • .

Komponen global

(dalam komponen akar) menggunakan kaedah app.component('component-Name', {}) untuk mendaftar komponen global Komponen yang didaftarkan secara global boleh digunakan dalam templat mana-mana komponen dalam aplikasi . (Belajar perkongsian video: Tutorial pengenalan Vuejs, Video pengaturcaraan asas)

Parameter pertama ialah nama komponen, dan disyorkan untuk mengikuti W3C spesifikasi Nama komponen tersuai dalam (untuk mengelakkan konflik dengan elemen HTML semasa dan akan datang): huruf semuanya huruf kecil dan mesti mengandungi tanda sempang . Parameter kedua ialah pilihan konfigurasi komponen.

const app = Vue.createApp();
app.component('my-component', {
    template: `<h1 id="Hello-nbsp-World">Hello World!</h1>`
});
const vm = app.mount(&#39;#app&#39;)

⚠️ Walaupun komponen global boleh digunakan dengan mudah dalam pelbagai komponen (termasuk dalaman mereka sendiri), ini boleh menyebabkan peningkatan dalam saiz projek semasa membinanya dan peningkatan yang tidak perlu dalam jumlah JavaScript dimuat turun oleh pengguna.

Perlu mendaftar komponen global app.mount('#app') sebelum aplikasi dipasang pada DOM

Komponen tempatan

Komponen dalam komponen (induk) Komponen yang didaftarkan dalam pilihan

. components

Sub-komponen

ini ditakrifkan oleh objek JavaScript biasa , yang menerima parameter yang sama seperti komponen global, tetapi ia hanya boleh digunakan dalam komponen induk , dipanggil komponen tempatan.

Untuk setiap sifat dalam objek

, componentsnama sifatnya ialah nama elemen tersuai dan nilai sifatnya ialah objek pilihan komponen ini.

const ComponentA = {
  /* ... */
}
const ComponentB = {
  /* ... */
}
const ComponentC = {
  /* ... */
}
// 然后在父组件的 `components` 选项中定义你想要使用的组件
const app = Vue.createApp({
  components: {
    &#39;component-a&#39;: ComponentA,
    &#39;component-b&#39;: ComponentB
  }
})
Komponen dinamik

Komponen dinamik merujuk kepada komponen yang menghasilkan nama berbeza berdasarkan nilai pengikatan berbeza​​​kepada atribut itu.

Teg terbina dalam

digunakan untuk memaparkan komponen berbeza secara dinamik Dengan mengawal nilai parameter yang terikat pada atribut <component :is="componentName />"> <strong><code>is, komponen yang sepadan dengan nama yang sama boleh menjadi. dipaparkan.

Atribut

boleh menjadi: is

    Nama komponen berdaftar
  • objek pilihan bagi komponen
Kadangkala untuk menyimpan keadaan komponen dinamik semasa menukar, seperti nilai kotak input dalam komponen, anda boleh membalut komponen dinamik

dengan tag <keep-alive></keep-alive>. Atribut

juga boleh digunakan untuk menyelesaikan sekatan peraturan sarang elemen HTML, dan nilainya ialah nama komponen, supaya kandungan itu benar-benar dipaparkan oleh orang asli tag ialah komponen . is

Oleh kerana untuk elemen ini

, <ul></ul>, <ol></ol> dan <table>, terdapat sekatan ketat terhadap elemen anak langsung yang dibenarkan untuk diletakkan di dalamnya, dan membenamkan elemen lain akan dianggap tidak sah . Tetapi jika kita perlu menggunakan komponen sebagai elemen anak langsung dalam elemen ini, kita boleh menggunakan atribut <code><select></select> pada elemen anak "undang-undang" untuk menentukan kandungan sebenar yang akan diberikan Dalam kes ini, atribut is digunakan pada elemen HTML asli , seperti is yang nilainya <tr> perlu diawali dengan <em> untuk menunjukkan bahawa apa yang dihuraikan sebenarnya adalah komponen Vue <code>vue:

<table>
  <tr is="vue:blog-post-row"></tr>
</table>
tetapi sekatan di atas hanya untuk menggunakan Vue secara langsung dalam HTML Anda akan menghadapinya hanya apabila menggunakan templat Jika anda menggunakan templat dalam langkah seterusnya, tiada sekatan sedemikian:

  • 字符串,例如 template: '...'
  • 单文件组件 .vue
  • <script type="text/x-template"></script>

异步组件

现在的大型网页往往需要异步获取不同的数据,Vue 有一个 defineAsyncComponent 方法定义异步组件,以优化应用的加载和用户体验。

异步组件在加载页面时并不立即渲染,而是要等带一些业务逻辑完成后,才会执行组件内的逻辑和渲染到页面上。

// 全局组件
app.component(&#39;async-example&#39;, Vue.defineAsyncComponent(() => {
  return new Promise((resolve, reject) => {
    resolve({
      template: &#39;<div>I am async!</div>&#39;
    })
  })
}))

// 局部组件
import { createApp, defineAsyncComponent } from &#39;vue&#39;

createApp({
  // ...
  components: {
    AsyncComponent: defineAsyncComponent(() => {
      return new Promise((resolve, reject) => {
        resolve({
          template: &#39;<div>I am async!</div>&#39;
        })
      })
    })
  }
})

异步组件的注册和一般的同步组件类似,如果是注册全局组件,也是使用 app.component()进行注册,不过第二个参数使用 Vue.defineAsyncComponent() 方法告诉 Vue 应用该组件是异步组件

defineAsyncComponent() 方法的参数是一个匿名函数,而且函数是返回一个 Promise。在 Promise 内应该 resovlve({}) 一个对象,其中包含了构建组件相关配置参数。只有当 Promise resolvereject 才执行异步组件的处理。

(学习视频分享:vuejs入门教程编程基础视频

Atas ialah kandungan terperinci Berapa banyak komponen utama yang ada pada vue?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),