如何利用Vue中slot插槽分发父组件
这次给大家带来如何利用Vue中slot插槽分发父组件,利用Vue中slot插槽分发父组件的注意事项有哪些,下面就是实战案例,一起来看一下。
写在前面
之前写过一篇关于vue实现dialog会话框组件的文章http://www.jb51.net/article/139218.htm
讲到了如何实现一个vue对话框组件,其中涉及到了父组件和子组件的通信,这个不用多说,看我之前的文章就能明白,文章最后也说到了,我们可以使用slot插槽来编写组件,slot用来分发内容到子组件中,从而实现组件的高度复用,编写的组件更加灵活。
还是结合对话框的例子,使用slot来实现对话框组件
注册一个名叫dialog-tip的全局组件
Vue.component('dialog-tip', { template: '#dialog-tip', props:['dialogShow','message'], data:function(){ return { content:'' } }, methods:{ } });
使用templete标签来定义这个组件
<template id="dialog-tip"> <p class="dialog_tip" v-if="dialogShow"> <p class="dialog_tip--mask"></p> <p class="dialog_tip--content"> <p class="dialog_tip--contenttxt"> <slot name="msg">请输入1-8000之间任意整数</slot> </p> <p class="dialog_tip--contentbtns"> <slot> <button class="btn">确定</button> <button class="btn">重新输入</button> <button class="btn">去注册</button> </slot> </p> </p> </p> </template> <template id="dialog-tip"> <p class="dialog_tip" v-if="dialogShow"> <p class="dialog_tip--mask"></p> <p class="dialog_tip--content"> <p class="dialog_tip--contenttxt"> <slot name="msg">请输入1-8000之间任意整数</slot> </p> <p class="dialog_tip--contentbtns"> <slot> <button class="btn">确定</button> <button class="btn">重新输入</button> <button class="btn">去注册</button> </slot> </p> </p> </p> </template>
组件内容包括两部分 ,一个是提示内容,一个是button按钮,我们将要修改替换的内容使用slot包含起来,
这样父组件就可以分发内容到子组件里面了。
<p class="dialog_tip--contenttxt"> <slot name="msg">请输入1-8000之间任意整数</slot> </p> <p class="dialog_tip--contentbtns"> <slot> <button class="btn">确定</button> <button class="btn">重新输入</button> <button class="btn">去注册</button> </slot> </p>
除了默认插槽,还可以定义具名插槽 ,如果组件中有好几个部分内容需要替换,我们可以为它定义一个name,例如:
<slot name="msg">请输入1-8000之间任意整数</slot>
这样在使用组件的时候,指定slot的name ,就会将这一部分内容替换掉,而不会替换其他的插槽内容
<p slot="msg">请输入正确手机号</p>
使用定义好的dialog组件
<dialog-tip message="hello" :dialog-show="dialogShow.tip3"> <p slot="msg">请输入正确手机号</p> <button class="btn" @click="closeDialogTip('tip3')">确定</button> </dialog-tip> <dialog-tip message="hello" :dialog-show="dialogShow.tip4"> <p slot="msg">抱歉,没有此用户,请核实后输入</p> <button class="btn" @click="closeDialogTip('tip4')">重新输入</button> <button class="btn" @click="reg">去注册</button> </dialog-tip>
如果不指定slot的名称,默认dialog-tip标签里面的内容会替换子组件中使用slot包含的内容部分,例如以上
使用slot指定了它的名称来替换子组件中的对应的slot部分,而没有使用slot指定名称的内容会默认将子组件中
没有定义具名插槽的部分内容替换掉。
需要注意的是,如果dialog-tip标签里没有定义需要分发的内容,那么子组件中会显示默认的插槽内容
关于更多的slot用法,请移步https://cn.vuejs.org/v2/guide/components-slots.html
最后
效果图
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
Atas ialah kandungan terperinci 如何利用Vue中slot插槽分发父组件. 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



Vue ialah rangka kerja bahagian hadapan yang popular yang menyediakan banyak arahan untuk membantu kami membangun dengan lebih baik. Antaranya, v-slot ialah arahan yang sangat penting, yang membolehkan kami menggabungkan komponen dengan lebih fleksibel dan meningkatkan kebolehbacaan dan kebolehgunaan semula kod. Slot lalai ialah jenis slot dalam v-slot Menggunakan slot lalai, anda boleh menghantar struktur HTML dalam komponen induk kepada komponen anak, supaya komponen anak boleh menjadikannya sebagai elemen anak sendiri. Artikel ini akan memperkenalkan anda secara terperinci cara menggunakan v- dalam Vue

PyInstaller ialah pustaka sumber terbuka yang membolehkan pembangun menyusun kod Python ke dalam boleh laku serba lengkap bebas platform (.exe atau .app). Ia melakukan ini dengan membungkus kod Python, kebergantungan, dan fail sokongan bersama-sama untuk mencipta aplikasi kendiri yang boleh dijalankan tanpa memasang penterjemah Python. Kelebihan PyInstaller ialah ia menghilangkan pergantungan pada persekitaran Python, membolehkan aplikasi diedarkan dan digunakan dengan mudah kepada pengguna akhir. Ia juga menyediakan mod pembina yang membolehkan pengguna menyesuaikan tetapan, ikon, fail sumber dan pembolehubah persekitaran aplikasi. Pasang PyInstal menggunakan PyInstaller untuk membungkus kod Python

PyInstaller ialah alat revolusioner yang memperkasakan aplikasi Python melebihi bentuk skrip asalnya. Dengan menyusun kod Python ke dalam fail boleh laku kendiri, PyInstaller membuka kunci bidang pengedaran, penggunaan dan penyelenggaraan kod baharu. Daripada skrip tunggal kepada aplikasi berkuasa Pada masa lalu, skrip Python hanya wujud dalam persekitaran Python tertentu. Mengedarkan skrip sedemikian memerlukan pengguna memasang Python dan perpustakaan yang diperlukan, yang merupakan proses yang memakan masa dan menyusahkan. PyInstaller memperkenalkan konsep pembungkusan, menggabungkan kod Python dengan semua kebergantungan yang diperlukan ke dalam satu fail boleh laku. Seni Pembungkusan Kod Kerja PyInstaller

Masalah yang diselesaikan oleh slot vue: Kandungan tidak dibenarkan untuk ditulis di tengah-tengah teg subkomponen yang diperkenalkan. Slot ialah keupayaan yang disediakan oleh Vue untuk pembungkus komponen; ia membenarkan pembangun untuk menentukan bahagian yang tidak pasti yang dijangka ditentukan oleh pengguna sebagai slot apabila slot pembungkusan boleh dianggap sebagai pemegang tempat untuk kandungan yang dikhaskan untuk pengguna .

Vue ialah rangka kerja bahagian hadapan JavaScript yang popular Versi ketiganya (Vue3) memperkenalkan banyak ciri baharu, salah satunya ialah fungsi slot. Artikel ini akan menerangkan secara terperinci apakah fungsi slot dan cara menggunakannya untuk melaksanakan komponen yang lebih fleksibel. Apakah fungsi slot? Dalam Vue, komponen ialah bahagian abstrak dari elemen halaman Komponen boleh dimasukkan ke dalam komponen lain. Biasanya, kandungan komponen adalah tetap, tetapi kadang-kadang kita mahu kandungan komponen itu berubah-ubah Ini adalah slo

Saya percaya bahawa setiap orang yang telah menggunakan Vue telah menggunakan slot dalam Vue lebih kurang, tetapi adakah anda memahami semua kegunaannya? Artikel ini akan membawakan anda semua penggunaan slot dalam Vue3 untuk membantu anda mencari dan mengisi jurang.

Menggunakan slot dalam Vue untuk mengoptimumkan kebolehskalaan komponen Dalam pembangunan Vue, komponen ialah modul penting untuk membina antara muka aplikasi. Komponen yang berkuasa dan berkesan boleh meningkatkan kecekapan pembangunan dan kebolehgunaan semula kod. Walau bagaimanapun, apabila saiz aplikasi meningkat, kebolehskalaan komponen sering menjadi satu cabaran. Untuk menyelesaikan masalah ini, Vue menyediakan ciri yang berkuasa - slot. Slot ialah mekanisme dalam Vue untuk menghantar kandungan kepada komponen. Dengan menggunakan slot, kami boleh mengambil fleksibiliti dan kebolehgunaan semula kod kami dengan lebih jauh lagi

Bagaimana untuk memantau perubahan slot Vue? Artikel berikut akan memperkenalkan kepada anda cara memantau perubahan dalam slot Vue, saya harap ia akan membantu anda!
