Rumah hujung hadapan web tutorial js 如何利用Vue中slot插槽分发父组件

如何利用Vue中slot插槽分发父组件

Jun 01, 2018 pm 01:48 PM
slot pengedaran 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:{
   }
  });
Salin selepas log masuk

使用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>
Salin selepas log masuk

组件内容包括两部分 ,一个是提示内容,一个是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>
Salin selepas log masuk

除了默认插槽,还可以定义具名插槽 ,如果组件中有好几个部分内容需要替换,我们可以为它定义一个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(&#39;tip3&#39;)">确定</button>
  </dialog-tip>
  <dialog-tip message="hello" :dialog-show="dialogShow.tip4">
   <p slot="msg">抱歉,没有此用户,请核实后输入</p>
   <button class="btn" @click="closeDialogTip(&#39;tip4&#39;)">重新输入</button>
   <button class="btn" @click="reg">去注册</button>
  </dialog-tip>
Salin selepas log masuk

如果不指定slot的名称,默认dialog-tip标签里面的内容会替换子组件中使用slot包含的内容部分,例如以上

使用slot指定了它的名称来替换子组件中的对应的slot部分,而没有使用slot指定名称的内容会默认将子组件中
 没有定义具名插槽的部分内容替换掉。

需要注意的是,如果dialog-tip标签里没有定义需要分发的内容,那么子组件中会显示默认的插槽内容

关于更多的slot用法,请移步https://cn.vuejs.org/v2/guide/components-slots.html

最后

效果图

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

Vue.js内侦听器使用案例解析

如何使用Vue SSR 组件加载

Atas ialah kandungan terperinci 如何利用Vue中slot插槽分发父组件. 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

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)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

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)

Cara menggunakan slot lalai v-slot dalam Vue Cara menggunakan slot lalai v-slot dalam Vue Jun 11, 2023 am 09:27 AM

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

Ubah kod Python kepada aplikasi bebas: alkimia PyInstaller Ubah kod Python kepada aplikasi bebas: alkimia PyInstaller Feb 19, 2024 pm 01:27 PM

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

Evolusi muktamad aplikasi Python: PyInstaller muncul dari kepompong dan menjadi rama-rama Evolusi muktamad aplikasi Python: PyInstaller muncul dari kepompong dan menjadi rama-rama Feb 19, 2024 pm 03:27 PM

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

Apakah masalah yang diselesaikan oleh slot vue? Apakah masalah yang diselesaikan oleh slot vue? Jan 13, 2023 pm 06:26 PM

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 .

Penjelasan terperinci tentang fungsi slot dalam Vue3: menggunakan slot untuk melaksanakan komponen yang lebih fleksibel Penjelasan terperinci tentang fungsi slot dalam Vue3: menggunakan slot untuk melaksanakan komponen yang lebih fleksibel Jun 18, 2023 am 09:29 AM

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

Apakah slot? Mari kita bincangkan tentang cara menggunakan slot dalam Vue3 Apakah slot? Mari kita bincangkan tentang cara menggunakan slot dalam Vue3 Aug 23, 2022 pm 07:57 PM

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 untuk mengoptimumkan prestasi pengembangan komponen dalam Vue Menggunakan slot untuk mengoptimumkan prestasi pengembangan komponen dalam Vue Jul 17, 2023 pm 03:16 PM

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? Cuba helah ini! Bagaimana untuk memantau perubahan slot Vue? Cuba helah ini! Sep 28, 2022 pm 07:52 PM

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

See all articles