Vue-Anweisungen für bedingtes Rendering umfassen v-if, v-else, v-else-if und v-show. Die v-if-Direktive wird zum bedingten Rendern eines Inhalts verwendet. Dieser Inhalt wird nur dann gerendert, wenn der Ausdruck der Direktive einen wahren Wert zurückgibt. v-else kann einen „else-Block“ zu v-if, v-else hinzufügen -if kann einen „else if-Block“ zu v-if hinzufügen. v-show bestimmt anhand einer Bedingung, ob ein Element oder eine Komponente angezeigt werden soll, und stützt sich dabei auf das Anzeigeattribut des Steuerelements.
Die Betriebsumgebung dieses Tutorials: Windows7-System, Vue3-Version, DELL G3-Computer.
Bedingtes Rendern
- In einigen Fällen müssen wir basierend auf den aktuellen Bedingungen entscheiden, ob bestimmte Elemente oder Komponenten gerendert werden sollen.
- Vue bietet die folgenden Anweisungen für die bedingte Beurteilung:
- v-if
- v-else
- v-else-if
v-show
Nachfolgend erfahren Sie mehr darüber.
v-if, v-else, v-else-if
-
v-if, v-else, v-else-if werden verwendet, um einen bestimmten Inhaltsblock basierend auf Bedingungen zu rendern:
- Diese Inhalte werden nur gerendert, wenn die Bedingung erfüllt ist.
-
Diese drei Anweisungen ähneln den bedingten Anweisungen von JavaScript, wenn
v-if-Anweisungen zum bedingten Rendern eines Inhalts verwendet werden wird nur gerendert, wenn der Ausdruck der Direktive „true“ zurückgibt.
v-else kann einen „else-Block“ zu v-if hinzufügen.
v-else-if stellt den „else if-Block“ bereit, der v-if entspricht. Es kann viele Male hintereinander wiederverwendet werden.
-
v-if-Rendering-Prinzip:
- v-if ist faul;
- Wenn die Bedingung falsch ist, wird der beurteilte Inhalt überhaupt nicht gerendert oder zerstört ;
-
Wenn die Bedingung wahr ist, wird der Inhalt im Bedingungsblock tatsächlich gerendert;
Vorlagenelement
- Da v-if eine Anweisung ist, muss sie einem Element hinzugefügt werden:
- Aber was wäre, wenn Wir wollen mehrere Elemente austauschen?
- Zu diesem Zeitpunkt rendern wir das Div, aber wir möchten nicht, dass Elemente wie div gerendert werden.
- Zu diesem Zeitpunkt können wir eine Vorlage verwenden. Das Vorlagenelement kann als unsichtbarer Wrapper verwendet werden Element und in v- Wird für if verwendet, aber die endgültige Vorlage wird nicht gerendert:
- ähnelt in gewisser Weise dem Block im Miniprogramm
- Lernen wir etwas über v-if, v-else, v-else-if durch Beispiele Drei Anweisungen.
v-if
Wie bereits erwähnt, bestimmt v-if
basierend auf dem Wert des Ausdrucks, ob Elemente im DOM generiert werden sollen. Zum Beispiel:
<!-- template --> <div> <h1 id="v-if的值为true时-显示这个div元素">v-if的值为true时,显示这个div元素</h1> </div> // JavaScript var app = new Vue({ el: '#app', data: { } })
Zu diesem Zeitpunkt wird das Element <h1></h1>
in das Element div#app
eingefügt und wie folgt gerendert:
v-if
前面说到过v-if
根据表达式来的值来判断在DOM中生成元素。比如:
<!-- template --> <div> <h1> v-if的值为true时,显示这个div元素 </h1> </div> // JavaScript var app = new Vue({ el: '#app', data: { isShow: true } })
这个时候<h1></h1>
元素插入到div#app
元素中,并渲染出来:
在Vue中,如果你需要让某个元素是否渲染,那就在该元素上添加v-if
指令,并且设置其值为true
或false
。比如上面的示例,我们设置的是true
,元素被渲染。如果把上面的true
值换成false
,<h1></h1>
元素就不会渲染。
除了直接给v-if
设置true
或false
之外,还可以通过表达式来做判断。比如:
<!-- template --> <div> <div> <h1 id="我是标题">我是标题</h1> <p>我是段落</p> </div> </div>
上面的示例中,声明了isShow
的值为true
,然后在h1
元素中,通过v-if
指令绑定isShow
。其实类似于v-if="true"
。h1
元素也正常渲染:
当你把isShow
设置为false
时,h1
元素又不会渲染。
上面我们看到的是渲染一个元素,如果要渲染多个元素,那是不是直接里面嵌套多个元素呢?我们来验证一下自己的想法:
<template> <h1 id="标题">标题</h1> <p>段落 1</p> <p>段落 2</p> </template>
和我们想像的一样。但在Vue中,我们切换多个元素一般不这么使用,而是配合<template></template>
元素当做包装元素,并在上面使用v-if
。最终的渲染结果不会包含<template></template>
Wenn Sie in Vue feststellen müssen, ob ein Element gerendert wird, Fügen Sie dann einfach die Anweisung v-if
zu diesem Element hinzu und setzen Sie seinen Wert auf true
oder false
. Im obigen Beispiel setzen wir beispielsweise true
und das Element wird gerendert. Wenn der obige true
-Wert durch false
ersetzt wird, wird das <h1></h1>
-Element nicht gerendert.
true
oder false
auf v-if
können Sie auch Urteile über Ausdrücke fällen. Zum Beispiel: 🎜<!-- Template --> <div> <h1 id="欢迎来到W-cplus">欢迎来到W3cplus!(^_^)</h1> <h1 id="请先登录-再来">请先登录,再来!(^_^)</h1> </div> // JavaScript var app = new Vue({ el: '#app', data: { isLogined: true } })🎜Im obigen Beispiel wird der Wert von
isShow
als true
deklariert und dann im Element h1
übergeben v Die -if
-Direktive bindet isShow
. Tatsächlich ähnelt es v-if="true"
. Das h1
-Element wird auch normal gerendert:🎜🎜

isShow
auf false
setzen, wird das Element h1
nicht gerendert. 🎜🎜
<template> <figure> <figcaption>恭喜你中了5元红包</figcaption> <img src="/static/imghwm/default1.png" data-src="xxx" class="lazy" alt="Was beinhaltet das bedingte Vue-Rendering?" > </figure> </template> <template> <figure> <figcaption>亲,就差那么一点点</figcaption> <img src="/static/imghwm/default1.png" data-src="xxx" class="lazy" alt="Was beinhaltet das bedingte Vue-Rendering?" > </figure> </template>🎜

<template></template>
als Verpackungselement und verwenden v-if drauf. Das endgültige Rendering-Ergebnis enthält nicht das Element <template></template>
. Wie unten gezeigt: 🎜<!-- template -->
<div>
<div>显示A区域</div>
<div>显示B区域</div>
<div>显示C区域</div>
</div>
// JavaScript
var app = new Vue({
el: '#app',
data: {
type: "B"
}
})
🎜🎜🎜v-else
v-else
和JavaScript中的else
类似,但其要和v-if
配合使用。比如我们做登录,如果登录了显示一个欢迎语,反则提示用户去登录。那么我们可以设置一个isLogined
表达式,比如:
<!-- Template -->
<div>
<h1 id="欢迎来到W-cplus">欢迎来到W3cplus!(^_^)</h1>
<h1 id="请先登录-再来">请先登录,再来!(^_^)</h1>
</div>
// JavaScript
var app = new Vue({
el: '#app',
data: {
isLogined: true
}
})
如你所想,你在浏览器能看到下图的效果:

把isLogined
的值换成false
,那么渲染出来的内容就变了:

在实际项目中,当我们一个组件在两种状态渲染的效果不一样的时候,这个时候使用v-if
和v-else
配合<template></template>
就很好实现了。比如中奖和未中奖:
<template>
<figure>
<figcaption>恭喜你中了5元红包</figcaption>
<img src="/static/imghwm/default1.png" data-src="xxx" class="lazy" alt="Was beinhaltet das bedingte Vue-Rendering?" >
</figure>
</template>
<template>
<figure>
<figcaption>亲,就差那么一点点</figcaption>
<img src="/static/imghwm/default1.png" data-src="xxx" class="lazy" alt="Was beinhaltet das bedingte Vue-Rendering?" >
</figure>
</template>
v-else-if
v-else-if
和JavaScript中的else if
类似,需要和v-if
配合在一起使用。当有几个条件同时在的时候,根据运算结果决定显示与否。如下面的代码,根据type
的值决定显示哪一个区块。比如,我们的例子,设定的type
的值B
,那么就会显示区块B
:
<!-- template -->
<div>
<div>显示A区域</div>
<div>显示B区域</div>
<div>显示C区域</div>
</div>
// JavaScript
var app = new Vue({
el: '#app',
data: {
type: "B"
}
})
如果修改type
的值,将显示的区域会不一样:

v-show
- v-show和v-if的用法看起来是一致的,也是根据一个条件决定是否显示元素或者组件:

v-show
和v-if
功能有点相似,其中v-if
依赖于控制DOM节点,而v-show
是依赖于控制DOM节点的display
属性。当v-show
传入的值为true
时,对应DOM元素的display
的值为block
之类的,反之为false
时,display
的值为none
。也就是用户看不到元素的显示,但其DOM元素还是存在的。
<!-- Template -->
<div>
<h1 id="我是一个标题">我是一个标题</h1>
<p>我是一个段落</p>
</div>
// JavaScript
var app = new Vue({
el: '#app',
data: {
isShow: false
}
})
在浏览器看到的效果将是这样的:

注意,v-show
不支持 <template></template>
语法,也不支持 v-else
。
v-show和v-if的区别
- 首先,在用法上的区别:
- v-show是不支持template;
- v-show不可以和v-else一起使用;
- 其次,本质的区别:
- v-show元素无论是否需要显示到浏览器上,它的DOM实际都是有存在的,只是通过CSS的display属性来进行切换;
- v-if当条件为false时,其对应的原生压根不会被渲染到DOM中;
- 开发中如何进行选择呢?
- 如果我们的原生需要在显示和隐藏之间频繁的切换,那么使用v-show;
- 如果不会频繁的发生切换,那么使用v-if;
Das obige ist der detaillierte Inhalt vonWas beinhaltet das bedingte Vue-Rendering?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Die Vorteile von React sind seine Flexibilität und Effizienz, die sich in: 1) basierendem Design widerspiegeln, verbessert die Wiederverwendbarkeit des Codes. 2) Virtual DOM -Technologie optimiert die Leistung, insbesondere beim Umgang mit großen Mengen an Datenaktualisierungen. 3) Das reiche Ökosystem bietet eine große Anzahl von Bibliotheken und Tools von Drittanbietern. Wenn Sie verstehen, wie React Beispiele funktioniert und verwendet, können Sie seine Kernkonzepte und Best Practices beherrschen, um eine effiziente, wartbare Benutzeroberfläche zu erstellen.

React ist eine JavaScript -Bibliothek zum Erstellen von Benutzeroberflächen, die für große und komplexe Anwendungen geeignet sind. 1. Der Kern von React ist Komponentierung und virtuelles DOM, wodurch die UI -Rendering -Leistung verbessert wird. 2. Im Vergleich zu VUE ist React flexibler, hat aber eine steile Lernkurve, die für große Projekte geeignet ist. 3. Im Vergleich zum Angular ist React leichter, hängt von der Gemeinschaftsökologie ab und geeignet für Projekte, die Flexibilität erfordern.

React arbeitet in HTML über virtuelles DOM. 1) React verwendet die JSX-Syntax, um HTML-ähnliche Strukturen zu schreiben. 2) Virtual DOM -Management -UI -Update, effizientes Rendering durch Differungsalgorithmus. 3) Verwenden Sie Reactdom.render (), um die Komponente zum realen DOM zu rendern. 4) Optimierung und Best Practices umfassen die Verwendung von React.MEMO und Komponentenaufteilung zur Verbesserung der Leistung und Wartbarkeit.

React wird in E-Commerce, Social Media und Datenvisualisierung häufig verwendet. 1) E-Commerce-Plattformen verwenden React, um Einkaufswagenkomponenten zu erstellen, Usestate zu verwalten, staatlich zu verwalten, Onclick zu verarbeiten und Ereignisse zu verarbeiten und Listen zu rendern. 2) Social -Media -Anwendungen interagieren mit der API über UseEffect, um dynamische Inhalte anzuzeigen. 3) Die Datenvisualisierung verwendet die React-ChartJS-2-Bibliothek, um Diagramme zu rendern, und das Komponentendesign ist einfach zu Anwendungen.

Best Practices für React Front-End-Architektur umfassen: 1. Konstruktion und Wiederverwendung: Entwerfen Sie eine einzige Verantwortung, leicht zu verstehen und zu testen, um eine hohe Wiederverwendung zu erzielen. 2. Staatsmanagement: Verwenden Sie Usestate, Usereducer, ContextAPI oder Redux/MOBX, um den Zustand zu verwalten, um eine übermäßige Komplexität zu vermeiden. 3.. Leistungsoptimierung: Die Leistung durch React.MEMO, UseCallback, Usememo und andere Methoden optimieren, um den Gleichgewichtspunkt zu finden. 4. Codeorganisation und Modularität: organisieren Code nach Funktionsmodulen, um die Verwaltbarkeit und Wartbarkeit zu verbessern. 5. Testen und Qualitätssicherung: Testen mit Scherz und ReactTestinglibrary, um die Qualität und Zuverlässigkeit des Codes zu gewährleisten

Um Reaktionen in HTML zu integrieren, befolgen Sie die folgenden Schritte: 1. Einführen von React und Reactdom in HTML -Dateien. 2. Definieren Sie eine React -Komponente. 3. Rendern Sie die Komponente mit Reactom in HTML -Elemente. Durch diese Schritte können statische HTML -Seiten in dynamische, interaktive Erlebnisse umgewandelt werden.

Die Popularität von React umfasst seine Leistungsoptimierung, die Wiederverwendung von Komponenten und ein reichhaltiges Ökosystem. 1. Die Leistungsoptimierung erzielt effiziente Aktualisierungen über virtuelle DOM- und Differenzmechanismen. 2. Die Wiederverwendung von Komponenten reduziert den doppelten Code durch wiederverwendbare Komponenten. 3.. Reiches Ökosystem und Einweg-Datenfluss verbessern die Entwicklungserfahrung.

React ist das Tool der Wahl zum Erstellen dynamischer und interaktiver Benutzeroberflächen. 1) Komponentierungen und JSX machen die UI -Spaltung und Wiederverwendung einfach. 2) Das staatliche Management wird über den Usestate -Hook implementiert, um UI -Updates auszulösen. 3) Der Ereignisverarbeitungsmechanismus reagiert auf die Benutzerinteraktion und verbessert die Benutzererfahrung.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)