Artikel ini membawakan anda pengetahuan yang berkaitan tentang vue Ia terutamanya memperkenalkan isu berkaitan slot yang meningkatkan kebolehskalaan komponen Slot komponen juga untuk menjadikan komponen yang kami rangkumkan lebih unik pengguna untuk menentukan kandungan yang hendak dipaparkan di dalam komponen. Mari kita lihat padanya.
[Cadangan berkaitan: tutorial video javascript, tutorial vue.js]
Slot komponen juga untuk menjadikan komponen berpakej kami lebih berskala Seks .
membolehkan pengguna menentukan kandungan di dalam komponen yang dipaparkan.
Mereka juga mempunyai banyak perbezaan, tetapi mereka juga mempunyai banyak kesamaan.
Jika kita merangkum komponen secara individu, ia jelas tidak sesuai: contohnya, jika setiap halaman dikembalikan, kita perlu merangkum bahagian kandungan ini berulang kali.
Walau bagaimanapun, jika kita merangkumnya menjadi satu, ia kelihatan tidak munasabah: ada yang menu di sebelah kiri, ada yang kembali, ada yang mencari di tengah, ada yang teks, dll.
Keluarkan persamaan dan kekalkan perbezaan.
Cara terbaik untuk merangkum adalah dengan mengekstrak ciri biasa ke dalam komponen dan mendedahkan yang berbeza sebagai slot.
Sebaik sahaja kami menempah slot, pengguna boleh menentukan kandungan yang hendak dimasukkan ke dalam slot mengikut keperluan mereka sendiri.
Adakah kotak carian, teks atau menu. Terpulang kepada pemanggil untuk membuat keputusan.
Gunakan contoh mudah untuk menentukan slot bagi subkomponen: Kandungan dalam <slot></slot>
bermakna jika tiada kandungan lain dimasukkan ke dalam komponen, ia akan dipaparkan secara lalai . Kandungan
nbsp;html> <meta> <meta> <title>Document</title> <script></script> <div> <cpn><button>按钮</button></cpn> <cpn><span>aaaaa</span></cpn> </div> <template> <div> <h2>我是子组件</h2> <h3>hahaha</h3> <slot></slot> </div> </template> <script> let app = new Vue({ el: '#app', components: { cpn: { template: '#cpn', } } }) </script>
Apabila fungsi subkomponen adalah kompleks, slot bagi subkomponen mungkin bukan Ia adalah .
Sebagai contoh, jika kita merangkum subkomponen bar navigasi, kita mungkin memerlukan tiga slot, masing-masing mewakili kiri, tengah dan kanan. Jadi, apabila memasukkan kandungan ke dalam slot, bagaimana untuk membezakan mana yang dimasukkan?
Bagaimana untuk menggunakan slot bernama?
<slot name="'myslot'"></slot>
nbsp;html> <meta> <meta> <title>Document</title> <script></script> <div> <cpn><button>按钮1</button></cpn> <cpn><span>aaaaa</span> <button>按钮2</button></cpn> </div> <template> <div> <h2>我是子组件</h2> <h3>hahaha</h3> <slot></slot><br> <slot></slot> </div> </template> <script> let app = new Vue({ el: '#app', components: { cpn: { template: '#cpn', } } }) </script>
Komponen induk menggantikan label slot, tetapi kandungannya disediakan oleh komponen anak.
Subkomponen termasuk set data, seperti: pLanguages: ['JavaScript', 'Python', 'Swift', 'Go', 'C ']
Perlu dipaparkan pada berbilang antara muka:
Kandungan berada dalam subkomponen. Ingin dipaparkan dalam komponen induk:
Apabila komponen induk menggunakan komponen anak kita , daripada komponen anak Dapatkan data:
<template slot-scope="slotProps"></template>
slotProps.data
untuk mendapatkan data yang baru kami hantar<div> <cpn></cpn> <cpn> <template> <span>{{slot.data.join('-')}}</span> </template> </cpn> <cpn> <template> <span>{{slot.data.join('*')}}</span> </template> </cpn> </div>
<template> <div> <slot> <ul> <li>{{item}}</li> </ul> </slot> </div> </template>
nbsp;html>Document <script></script> <div> <cpn></cpn> <cpn> <template> <span>{{slot.data.join('-')}}</span> </template> </cpn> <cpn> <template> <span>{{slot.data.join('*')}}</span> </template> </cpn> </div> <template> <div> <slot> <ul> <li>{{item}}</li> </ul> </slot> </div> </template> <script> let app = new Vue({ el: '#app', components: { cpn: { template: '#cpn', data() { return { pLanguages: ['JavaScript', 'Python', 'Swift', 'Go', 'C++'], } } } } }) </script>
[Pengesyoran berkaitan: tutorial video javascript, tutorial vue.js]
Atas ialah kandungan terperinci Vue penerangan terperinci slot untuk meningkatkan kebolehskalaan komponen. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!