Heim Web-Frontend js-Tutorial Detaillierte Erläuterung des Falles einer einfachen Popup-Fensterfunktion, die von der Vue-Komponente implementiert wird

Detaillierte Erläuterung des Falles einer einfachen Popup-Fensterfunktion, die von der Vue-Komponente implementiert wird

Apr 27, 2018 am 11:31 AM
功能 案例 简单

Dieses Mal erkläre ich Ihnen ausführlich, wie die Vue-Komponente eine einfache Popup-Fensterfunktion implementiert ist ein praktischer Fall, werfen wir einen Blick darauf. Vor kurzem verwende ich das Element-UI-Framework und die Dialogkomponente. Der Effekt ist ungefähr der gleiche wie bei einer Popup-Komponente, die ich in meinem vorherigen mobilen Projekt erstellt habe. Dann möchte ich Ihnen die Implementierungsmethode dieser Popup-Fensterkomponente vorstellen. Der folgende Artikel führt Sie durch die Implementierung einer Popup-Fensterkomponente.

Der Hauptinhalt dieses Artikels umfasst die Implementierung von Popup-Fenstermasken, die Verwendung von Slot-Slots, Requisiten und $emit-Parametern sowie das Hochladen der spezifischen Komponentencodes. Wenn es Ihnen gefällt, können Sie es liken/folgen und unterstützen. Ich hoffe, dass jeder von der Lektüre dieses Artikels profitieren kann.

Der endgültige Effekt der Komponente

Implementierungsschritte

    Erstellen Sie zunächst die HTML- und CSS-Stile, die Maskenebene und die Inhaltsebene der Komponente.
  1. Benutzerdefinierter Popup-Inhalt: Die Popup-Komponente akzeptiert den Popup-Inhalt, der von der übergeordneten Komponente über den Slot übergeben wird.
  2. Benutzerdefinierter Popup-Fensterstil: Die Popup-Fensterkomponente erhält die Breite des Popup-Fensters sowie die Positionen oben, unten, links und rechts, die von der übergeordneten Komponente über Requisiten übergeben werden.
  3. Komponentenwechsel: Die über die übergeordnete Komponente übergebenen Requisiten steuern die Anzeige und das Ausblenden der Komponente. Wenn die untergeordnete Komponente geschlossen wird, löst das Ereignis $emit die Änderung der übergeordneten Komponente aus Wert.
  4. 1. Erstellen Sie die HTML- und CSS-Stile der Komponente.

HTML-Struktur: eine Maskenebene, eine Inhaltsebene, und die Inhaltsebene verfügt über einen Kopftitel, Textinhalt und eine Schaltfläche zum Schließen.

Das Folgende ist die HTML-Struktur in der Komponente. Es gibt einige Dinge, die später hinzugefügt werden.

<template>
 <p class="dialog">
  <!--外层的遮罩 点击事件用来关闭弹窗,isShow控制弹窗显示 隐藏的props-->
  <p class="dialog-cover back" v-if="isShow" @click="closeMyself"></p>
  <!-- transition 这里可以加一些简单的动画效果 -->
  <transition name="drop">
   <!--style 通过props 控制内容的样式 -->
  <p class="dialog-content" :style="{top:topDistance+&#39;%&#39;,width:widNum+&#39;%&#39;,left:leftSite+&#39;%&#39;}" v-if="isShow">
   <p class="dialog_head back">
    <!--弹窗头部 title-->
    <slot name="header">提示信息</slot>
   </p>
   <p class="dialog_main" :style="{paddingTop:pdt+&#39;px&#39;,paddingBottom:pdb+&#39;px&#39;}">
   <!--弹窗的内容-->
   <slot name="main">弹窗内容</slot>
   </p>
   <!--弹窗关闭按钮-->
   <p class="foot_close" @click="closeMyself">
    <p class="close_img back"></p>
   </p>
  </p>
 </transition>
 </p>
</template>
Nach dem Login kopieren
>Das Folgende ist das Haupt-CSS in der Komponente. Der Stil ist vollständig mit Anmerkungen versehen und der Maskierungseffekt wird hauptsächlich durch den Z-Index und den

Hintergrund

erreicht. Das CSS des spezifischen Inhalts kann entsprechend Ihren eigenen Anforderungen festgelegt werden.

<style lang="scss" scoped>
 // 最外层 设置position定位 
 .dialog {
 position: relative;
 color: #2e2c2d;
 font-size: 16px;
 }
 // 遮罩 设置背景层,z-index值要足够大确保能覆盖,高度 宽度设置满 做到全屏遮罩
 .dialog-cover {
 background: rgba(0,0,0, 0.8);
 position: fixed;
 z-index: 200;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 }
 // 内容层 z-index要比遮罩大,否则会被遮盖,
 .dialog-content{
 position: fixed;
 top: 35%;
 // 移动端使用felx布局 
 display: flex;
 flex-direction: column;
 justify-content: center;
 align-items: center;
 z-index: 300;
 }
</style>
Nach dem Login kopieren
2. Passen Sie den Popup-Inhalt über den Slot an. Solange Sie in diesem Schritt die Rolle und Verwendung des Slots verstehen, wird es kein Problem geben.

Einzelner Slot:

Dies ist der Inhalt des Popup-Fensters, der angezeigt wird, wenn kein Slot übergeben wird

Das Obige ist ein einzelner Slot. Es wird als Standard-Slot bezeichnet. Die korrekte Verwendung des Slots in der übergeordneten Komponente ist:

<my-component>
 <!--在my-component里面的所有内容片段都将插入到slot所在的DOM位置,并且会替换掉slot标签-->
 <!--这两个p标签,将替换整个slot标签里面的内容-->
 <p>这是一些初始内容</p>
 <p>这是更多的初始内容</p>
</my-component>
Nach dem Login kopieren

ps: Wenn die untergeordnete Komponente einen Slot enthält, wird der Inhalt des p-Tags oben verworfen.

Benannter Slot:

Der sogenannte benannte Slot dient dazu, dem Slot-Tag ein Namensattribut zuzuweisen. Benannte Slots können verschiedene Inhaltsfragmente in der übergeordneten Komponente an verschiedenen Stellen in der untergeordneten Komponente platzieren . Benannte Slots können weiterhin einen Standard-Slot haben. Hier sehen Sie, wie der Popup-Komponentensteckplatz verwendet wird:

<p class="dialog_head back ">
 <!--弹窗头部 title-->
 <slot name="header">提示信息</slot>
 </p>
 <p class="dialog_main " :style="{paddingTop:pdt+&#39;px&#39;,paddingBottom:pdb+&#39;px&#39;}">
 <!--弹窗的内容-->
 <slot name="main">弹窗内容</slot>
 </p>
Nach dem Login kopieren
So verwenden Sie ihn in der übergeordneten Komponente:

Fügen Sie die Popup-Komponente in die Komponente ein, die Sie verwenden möchten. und registrieren Sie es über Komponentenkomponenten.

Die Methode zur Verwendung des Popup-Komponentensteckplatzes in der übergeordneten Komponente ist wie folgt.

<dialogComponent>
 <p slot="header">插入到name为header的slot标签里面</p>
  <p class="dialog_publish_main" slot="main">
  这里是内容插入到子组件的slot的name为main里面,可以在父组件中添加class定义样式,事件类型等各种操作
  </p>
</dialogComponent>
Nach dem Login kopieren

Das ist alles für die Einführung von Slots in Pop-up-Komponenten. Sie können sehen, dass die Slots ziemlich leistungsfähig sind und die Slots selbst nicht schwierig sind Haben sich Schüler in Spielautomaten verliebt?

3. Verwenden Sie Requisiten, um die Sichtbarkeit von Popup-Fenstern zu steuern und den Popup-Fensterstil anzupassen

psops ist eine Möglichkeit für übergeordnete Komponenten in Vue, Daten an Unterkomponenten zu übertragen Wenn Sie damit nicht vertraut sind, können Sie es sich ansehen. Schauen Sie sich das Requisitendokument an.

Da Popup-Fensterkomponenten zur Verwendung an andere Komponenten weitergeleitet werden, müssen Popup-Fensterkomponenten ein gewisses Maß an Anpassbarkeit aufweisen, um für Popup-Fenster in verschiedenen Komponentenszenarien geeignet zu sein. Andernfalls werden diese Komponenten nicht angepasst Sinnlos sein, lassen Sie uns die Verwendung von Requisiten am Beispiel der Popup-Komponente vorstellen:

Zuerst müssen Sie einige Eigenschaften von Requisiten in der übergebenen Komponente definieren, z. B. die Überprüfung.

Binden Sie dann die Requisitendaten in die übergeordnete Komponente.

<script>
export default {
 props: {
 isShow: { 
 //弹窗组件是否显示 默认不显示
  type: Boolean,
  default: false,
  required:true, //必须
 },
 //下面这些属性会绑定到p上面 详情参照上面的html结构
 // 如: :style="{top:topDistance+'%',width:widNum+'%'}"
 widNum:{ 
 //内容宽度
  type: Number,
  default:86.5
 },
 leftSite:{
  // 左定位
  type: Number,
  default:6.5
 },
 topDistance: {
  //top上边距
  type: Number,
  default:35
 },
 pdt:{
  //上padding
  type: Number,
  default:22
 },
 pdb:{
  //下padding
  type: Number,
  default:47
 }
 },
}
</script>
Nach dem Login kopieren

Wird in der übergeordneten Komponente verwendet:

<dialogComponent :is-show="status.isShowPublish" :top-distance="status.topNum">
</dialogComponent>
Nach dem Login kopieren

ps:props传递数据不是双向绑定的,而是 单向数据流 ,父组件的数据变化时,也会传递到子组件中,这就意外着我们不应该在子组件中修改props。所以我们在关闭弹窗的时候就 需要通过 $emit 来修改父组件的数据 ,然后数据会自动传到子组件中。

现在基本上弹窗组件都已实现的差不多了,还差一个弹窗的关闭事件,这里就涉及到子组件往父组件传参了。

4. $emit 触发父组件事件修改数据,关闭弹窗

Vue中在子组件往父组件传参,很多都是通过 $emit 来触发父组件的事件来修改数据。

在子组件中,在点击关闭,或者遮罩层的时候触发下面这个方法:

methods: {
 closeMyself() {
  this.$emit("on-close"); 
  //如果需要传参的话,可以在"on-close"后面再加参数,然后在父组件的函数里接收就可以了。
 }
 }
Nach dem Login kopieren

父组件中的写法:

<dialogComponent :is-show="status.isShowPublish" :top-distance="status.topNum" @on-close="closeDialog"> 
 </dialogComponent>
 //"on-close是监听子组件的时间有没有触发,触发的时候执行closeDialog函数
methods:{
 closeDialog(){
 // this.status.isShowPublish=false;
 //把绑定的弹窗数组 设为false即可关闭弹窗
 },
}
Nach dem Login kopieren

可以用弹窗组件实现下列这种信息展示,或者事件交互:

 

弹窗组件代码

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

推荐阅读:

Node.js应用设置沙箱环境使用方法

JS变量声明var,let.const使用详解

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Falles einer einfachen Popup-Fensterfunktion, die von der Vue-Komponente implementiert wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Der einfachste Weg, die Seriennummer der Festplatte abzufragen Der einfachste Weg, die Seriennummer der Festplatte abzufragen Feb 26, 2024 pm 02:24 PM

Die Seriennummer der Festplatte ist eine wichtige Kennung der Festplatte und dient in der Regel zur eindeutigen Identifizierung der Festplatte und zur Identifizierung der Hardware. In einigen Fällen müssen wir möglicherweise die Seriennummer der Festplatte abfragen, beispielsweise bei der Installation eines Betriebssystems, der Suche nach dem richtigen Gerätetreiber oder der Durchführung von Festplattenreparaturen. In diesem Artikel werden einige einfache Methoden vorgestellt, mit denen Sie die Seriennummer der Festplatte überprüfen können. Methode 1: Verwenden Sie die Windows-Eingabeaufforderung, um die Eingabeaufforderung zu öffnen. Drücken Sie im Windows-System die Tasten Win+R, geben Sie „cmd“ ein und drücken Sie die Eingabetaste, um den Befehl zu öffnen

Welche Funktionen hat die Doubao-App? Welche Funktionen hat die Doubao-App? Mar 01, 2024 pm 10:04 PM

Die Doubao-App wird viele KI-Erstellungsfunktionen enthalten. Welche Funktionen bietet die Doubao-App? Benutzer können diese Software verwenden, um Gemälde zu erstellen, mit KI zu chatten, Artikel für Benutzer zu generieren, allen bei der Suche nach Liedern zu helfen usw. Diese Funktionseinführung der Doubao-App kann Ihnen die spezifische Betriebsmethode erklären. Im Folgenden finden Sie den spezifischen Inhalt. Schauen Sie sich um! Welche Funktionen bietet die Doubao-App? Antwort: Sie können zeichnen, chatten, Artikel schreiben und Lieder finden. Funktionseinführung: 1. Fragenabfrage: Sie können KI verwenden, um schneller Antworten auf Fragen zu finden, und Sie können jede Art von Fragen stellen. 2. Bildgenerierung: Mithilfe von KI können für jeden unterschiedliche Bilder erstellt werden. Sie müssen jedem nur die allgemeinen Anforderungen mitteilen. 3. KI-Chat: Kann eine KI erstellen, die für Benutzer chatten kann,

Der Unterschied zwischen vivox100s und x100: Leistungsvergleich und Funktionsanalyse Der Unterschied zwischen vivox100s und x100: Leistungsvergleich und Funktionsanalyse Mar 23, 2024 pm 10:27 PM

Sowohl die Mobiltelefone vivox100s als auch x100 sind repräsentative Modelle der Mobiltelefonproduktlinie von vivo. Sie repräsentieren jeweils das High-End-Technologieniveau von vivo in unterschiedlichen Zeiträumen. Daher weisen diese beiden Mobiltelefone gewisse Unterschiede in Design, Leistung und Funktionen auf. In diesem Artikel wird ein detaillierter Vergleich dieser beiden Mobiltelefone im Hinblick auf Leistungsvergleich und Funktionsanalyse durchgeführt, um Verbrauchern dabei zu helfen, das für sie geeignete Mobiltelefon besser auszuwählen. Schauen wir uns zunächst den Leistungsvergleich zwischen vivox100s und x100 an. vivox100s ist mit dem Neusten ausgestattet

Vergleichende Analyse der Funktionen und Leistung von JPA und MyBatis Vergleichende Analyse der Funktionen und Leistung von JPA und MyBatis Feb 19, 2024 pm 05:43 PM

JPA und MyBatis: Vergleichende Analyse von Funktion und Leistung Einführung: In der Java-Entwicklung spielt das Persistenz-Framework eine sehr wichtige Rolle. Zu den gängigen Persistenz-Frameworks gehören JPA (JavaPersistenceAPI) und MyBatis. In diesem Artikel wird eine vergleichende Analyse der Funktionen und Leistung der beiden Frameworks durchgeführt und spezifische Codebeispiele bereitgestellt. 1. Funktionsvergleich: JPA: JPA ist Teil von JavaEE und bietet eine objektorientierte Datenpersistenzlösung. Es wird eine Annotation oder X übergeben

Was genau ist Self-Media? Was sind seine Hauptmerkmale und Funktionen? Was genau ist Self-Media? Was sind seine Hauptmerkmale und Funktionen? Mar 21, 2024 pm 08:21 PM

Mit der rasanten Entwicklung des Internets ist das Konzept der Selbstmedien tief in den Herzen der Menschen verankert. Was genau ist Self-Media? Was sind seine Hauptmerkmale und Funktionen? Als nächstes werden wir diese Probleme einzeln untersuchen. 1. Was genau ist Self-Media? Wir-Medien bedeuten, wie der Name schon sagt, dass Sie die Medien sind. Dabei handelt es sich um einen Informationsträger, über den Einzelpersonen oder Teams selbstständig Inhalte erstellen, bearbeiten, veröffentlichen und über die Internetplattform verbreiten können. Anders als traditionelle Medien wie Zeitungen, Fernsehen, Radio usw. sind Selbstmedien interaktiver und personalisierter und ermöglichen es jedem, zum Produzenten und Verbreiter von Informationen zu werden. 2. Was sind die Hauptmerkmale und Funktionen von Self-Media? 1. Niedrige Hemmschwelle: Der Aufstieg der Selbstmedien hat die Hemmschwelle für den Einstieg in die Medienbranche gesenkt und es werden keine professionellen Teams mehr benötigt.

Wofür wird ein Bluetooth-Adapter verwendet? Wofür wird ein Bluetooth-Adapter verwendet? Feb 19, 2024 pm 05:22 PM

Was macht ein Bluetooth-Adapter? Mit der kontinuierlichen Weiterentwicklung von Wissenschaft und Technologie hat sich auch die drahtlose Kommunikationstechnologie rasant weiterentwickelt und populär gemacht. Unter diesen wird die Bluetooth-Technologie als drahtlose Kommunikationstechnologie für kurze Entfernungen häufig bei der Datenübertragung und Verbindung zwischen verschiedenen Geräten verwendet. Der Bluetooth-Adapter spielt eine wichtige Rolle als wichtiges Gerät, das die Bluetooth-Kommunikation unterstützt. Ein Bluetooth-Adapter ist ein Gerät, das ein Nicht-Bluetooth-Gerät in ein Gerät verwandeln kann, das Bluetooth-Kommunikation unterstützt. Es realisiert eine drahtlose Verbindung und Datenübertragung zwischen Geräten, indem es drahtlose Signale in Bluetooth-Signale umwandelt. Bluetooth-Adapter

Welche Funktionen bietet die Kontoverwaltungssoftware Xiaohongshu? Wie betreibe ich ein Xiaohongshu-Konto? Welche Funktionen bietet die Kontoverwaltungssoftware Xiaohongshu? Wie betreibe ich ein Xiaohongshu-Konto? Mar 21, 2024 pm 04:16 PM

Da Xiaohongshu bei jungen Menschen immer beliebter wird, beginnen immer mehr Menschen, diese Plattform zu nutzen, um verschiedene Aspekte ihrer Erfahrungen und Lebenseinblicke auszutauschen. Die effektive Verwaltung mehrerer Xiaohongshu-Konten ist zu einem zentralen Thema geworden. In diesem Artikel werden wir einige Funktionen der Xiaohongshu-Kontoverwaltungssoftware besprechen und untersuchen, wie Sie Ihr Xiaohongshu-Konto besser verwalten können. Da die sozialen Medien wachsen, müssen viele Menschen mehrere soziale Konten verwalten. Dies ist auch eine Herausforderung für Xiaohongshu-Benutzer. Einige Xiaohongshu-Kontoverwaltungssoftware kann Benutzern dabei helfen, mehrere Konten einfacher zu verwalten, einschließlich automatischer Inhaltsveröffentlichung, geplanter Veröffentlichung, Datenanalyse und anderen Funktionen. Mithilfe dieser Tools können Benutzer ihre Konten effizienter verwalten und die Bekanntheit und Aufmerksamkeit ihres Kontos erhöhen. Darüber hinaus verfügt Xiaohongshu über eine Kontoverwaltungssoftware

Was ist Discuz? Definition und Funktionseinführung von Discuz Was ist Discuz? Definition und Funktionseinführung von Discuz Mar 03, 2024 am 10:33 AM

„Discuz erkunden: Definition, Funktionen und Codebeispiele“ Mit der rasanten Entwicklung des Internets sind Community-Foren zu einer wichtigen Plattform für Menschen geworden, um Informationen zu erhalten und Meinungen auszutauschen. Unter den vielen Community-Forumsystemen wird Discuz als bekannte Open-Source-Forumsoftware in China von der Mehrheit der Website-Entwickler und -Administratoren bevorzugt. Was ist Discuz? Welche Funktionen hat es und wie kann es unserer Website helfen? In diesem Artikel wird Discuz ausführlich vorgestellt und spezifische Codebeispiele beigefügt, damit die Leser mehr darüber erfahren können.

See all articles