


Apakah slot? Mari kita bincangkan tentang cara menggunakan slot dalam Vue3
Vue Saya percaya bahawa semua orang yang telah menggunakan Vue telah menggunakannya lebih kurang, tetapi adakah anda tahu semua kegunaannya? Artikel ini akan membawakan anda semua penggunaan slot dalam Vue3 untuk membantu anda mencari dan mengisi jurang. (Belajar perkongsian video: tutorial video vue)
Apakah itu slot
Ringkasnya, ia adalah yang disediakan dalam subkomponen 坑位
yang digunakan oleh komponen induk diwakili oleh <slot></slot>
Komponen induk boleh mengisi sebarang kod templat dalam lubang ini dan kemudian <slot></slot>
dalam komponen anak akan digantikan dengan kandungan ini. Contohnya, dalam contoh slot termudah
//父组件 <template> <div> <child>Hello Juejin</child> </div> </template> <script> import Child from './Child.vue' </script> //子组件Child <template> <div> <p>1</p> <slot></slot> <p>2</p> </div> </template>
, <slot></slot>
dalam komponen anak ialah kandungan yang diletakkan oleh komponen induk di antara tag komponen anak <child></child>
. Sudah tentu, anda boleh menghantar sebarang coretan kod dalam tempoh ini dan ia akan diletakkan di lokasi <slot></slot>
.
Begitu juga, anda juga boleh meletakkan pembolehubah antara teg <child></child>
, seperti
//父组件 <template> <div> <child>{{ msg }}</child> </div> </template> <script> import { ref } from 'vue' import Child from './Child.vue' const msg = ref('Hello Juejin') </script>
Izinkan saya menerangkan kedua-dua teg yang kerap muncul perkataan 插槽
dan 插槽内容
mengelakkan kekeliruan dalam bacaan kemudian:
Yang sama 插槽
mewakili pembolehubah msg
ini. Oleh itu, komponen anak 插槽
boleh mengakses skop data komponen induk, tetapi 插槽内容
tidak boleh mengakses data komponen anak (iaitu, data dalam komponen anak tidak boleh digunakan antara dua <child></child>
dalam komponen induk), ini adalah skop pemaparan yang dipanggil. Kami akan memperkenalkan kemudian kaedah 插槽
menghantar parameter kepada 插槽内容
Kandungan lalai
Apabila komponen induk tidak memberikan sebarang 插槽内容
, kami boleh sediakan 插槽
komponen anak menentukan kandungan lalai, seperti
//子组件 <template> <div> <slot>我是默认内容</slot> </div> </template> //父组件1 <template> <div> <child></child> </div> </template> <script> import Child from './Child.vue' </script> //父组件2 <template> <div> <child>Hello Juejin</child> </div> </template> <script> import Child from './Child.vue' </script>
Pada masa ini, 父组件1
memaparkan kandungan lalai
父组件2
memaparkan Kandungan yang disediakan
Slot Dinamakan
Banyak kali satu 插槽
tidak dapat memenuhi keperluan kita, kita perlu berbilang 插槽
. Jadi terdapat 具名插槽
, iaitu 插槽
dengan nama. Ringkasnya, tujuan 具名插槽
ini adalah untuk membuat lubang untuk lobak merah dan biarkan mereka tinggal di tempat yang sepatutnya. Contohnya, slot name
dengan <slot name="xx"></slot>
dipanggil slot bernama. name
yang tidak disediakan akan secara tersirat dinamakan "lalai". Anda boleh menggunakan <slot></slot>
(boleh disingkatkan sebagai v-slot:xxx
) elemen #xxx
arahan dalam komponen induk untuk menghantar nama slot sasaran untuk memadankan <template></template>
yang sepadan. Contohnya, 插槽
//子组件 <template> <div> <!-- 大萝卜 --> <div> <slot></slot> </div> <!-- 小萝卜 --> <div> <slot></slot> </div> <!-- 中萝卜 --> <div> <slot></slot> </div> </div> </template> //父组件 <template> <div> <child> <!-- #smallTurnip 为v-slot:smallTurnip缩写 --> <template> 小萝卜 </template> <template> 中萝卜 </template> <template> 大萝卜 </template> </child> </div> </template> <script> import Child from './Child.vue' </script>
Nama slot dinamik
Nama slot dinamik ialah nama slot dalam bentuk pembolehubah Kami boleh mengubah suai pembolehubah ini pada bila-bila masa untuk menunjukkan kesan yang berbeza. Ia ditulis sebagai atau disingkatkan sebagai v-slot:[变量名]
. #[变量名]
//父组件 <template> <div> <child> <!-- 等同于#smallTurnip --> <template> 小萝卜 </template> <template> 中萝卜 </template> <template> 大萝卜 </template> </child> </div> </template> <script> import { ref } from 'vue' import Child from './Child.vue' const slotName = ref('smallTurnip') </script>
Slot skop
Slot skop
Seperti yang dinyatakan di atas, tidak boleh diakses Data bagi komponen kanak-kanak, tetapi bagaimana jika kita mahu mengakses keadaan komponen kanak-kanak dalam 插槽内容
? 插槽内容
boleh mengikat sifat pada tag 插槽
dan menghantarnya kepada slot
dalam komponen induk sama seperti menghantar prop kepada komponen. Mula-mula, mari kita lihat kaedah pemindahan nilai slot lalai插槽内容
//子组件 <template> <div> <slot></slot> </div> </template> //父组件 <template> <div> <child> My name is {{ slotProps.personName }} and I am {{ slotProps.age }} years old this year </child> </div> </template> <script> import Child from './Child.vue' </script>
dalam bentuk strukturslot
<template> <div> <child> My name is {{ personName }} and I am {{ age }} years old this year </child> </div> </template>
注意不能绑定name
属性,因为你绑定了name
它就成了具名插槽了。同样具名插槽中的name
属性也不会传递给插槽内容
。因为传递的参数只能在插槽内容
中使用,所以这类能够接受参数的插槽就被称为了作用域插槽
。
具名作用域插槽
下面再看下具名作用域插槽
它的传参方式。它接收参数的方式是通过template
标签的指令v-slot
的值获取的,所以可以缩写成这样
//父组件 <template> <div> <child> <template> {{ bigTurnipProps.message }} </template> </child> </div> </template> <script> import Child from './Child.vue' </script> //子组件Child.vue <template> <div> <!-- 大萝卜 --> <div> <slot></slot> </div> </div> </template>
这类插槽便是具名作用域插槽
啦
写在最后
到这里插槽
(slot)的全部用法基本就已经介绍完啦。如果感觉对你有用的话赶紧点赞收藏吧!
Atas ialah kandungan terperinci Apakah slot? Mari kita bincangkan tentang cara menggunakan slot dalam Vue3. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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

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.

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.

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.

Pembangunan pelbagai halaman Vue adalah cara untuk membina aplikasi menggunakan rangka kerja VUE.JS, di mana permohonan dibahagikan kepada halaman berasingan: Penyelenggaraan kod: Memisahkan aplikasi ke dalam beberapa halaman boleh menjadikan kod lebih mudah untuk dikendalikan dan diselenggarakan. Modularity: Setiap halaman boleh digunakan sebagai modul yang berasingan untuk penggunaan semula dan penggantian mudah. Routing mudah: Navigasi antara halaman boleh diuruskan melalui konfigurasi penghalaan mudah. Pengoptimuman SEO: Setiap halaman mempunyai URL sendiri, yang membantu SEO.

Vue.js mempunyai empat kaedah untuk kembali ke halaman sebelumnya: $ router.go (-1) $ router.back () menggunakan & lt; router-link to = & quot;/& quot; Komponen Window.History.Back (), dan pemilihan kaedah bergantung pada tempat kejadian.

Anda boleh menanyakan versi VUE dengan menggunakan Vue Devtools untuk melihat tab VUE dalam konsol penyemak imbas. Gunakan NPM untuk menjalankan arahan "NPM LIST -G VUE". Cari item VUE dalam objek "Dependencies" fail Package.json. Untuk projek Vue CLI, jalankan perintah "Vue -version". Semak maklumat versi di & lt; skrip & gt; Tag dalam fail HTML yang merujuk kepada fail VUE.

Pemintasan fungsi dalam VUE adalah teknik yang digunakan untuk mengehadkan bilangan kali fungsi dipanggil dalam tempoh masa yang ditentukan dan mencegah masalah prestasi. Kaedah pelaksanaan adalah: mengimport perpustakaan lodash: import {debounce} dari 'lodash'; Gunakan fungsi debounce untuk membuat fungsi memintas: const debouncedfunction = debounce (() = & gt; { / logical /}, 500); Panggil fungsi Intercept, dan fungsi kawalan dipanggil paling banyak sekali dalam 500 milisaat.
