Maison >interface Web >js tutoriel >Explication détaillée du rendu conditionnel Vue.js
Cet article partage principalement avec vous l'explication détaillée du rendu conditionnel de Vue.js. Dans les modèles de chaînes, tels que Handles, nous devons écrire un bloc conditionnel comme celui-ci :
<!-- Handlebars 模板 -->{{#if ok}} <h1>Yes</h1>{{/if}}
Dans Vue, nous utilisons la directive v-if
pour réaliser la même fonction :
<h1 v-if="ok">Yes</h1>
Vous pouvez également utiliser v-else
pour ajouter un "bloc else" :
<h1 v-if="ok">Yes</h1>No
# Utiliser le regroupement de rendu conditionnel d477f9ce7bf77f53fbcf36bec1b69b7a
sur les éléments v-if
Parce que v-if
est une directive, elle doit être ajoutée à un élément. Mais que se passe-t-il si vous souhaitez changer plusieurs éléments ? À ce stade, vous pouvez traiter un d477f9ce7bf77f53fbcf36bec1b69b7a
élément comme un élément d'emballage invisible et utiliser v-if
dessus. Le résultat final du rendu sera sans d477f9ce7bf77f53fbcf36bec1b69b7a
éléments.
<p id="example"> <template v-if='ok'> <h1>Title</h1> <p>Paragraph 1</p> <p>Paragraph 2</p> </template></p>
var vm = new Vue({ el: '#example', data: { ok: true } })
# v-else
et v-else-if
peuvent être représentés par la directive v-else
pour représenter le "bloc else" de v-if
:
<p v-if="Math.random() > 0.5"> Now you see me</p> <p v-else> Now you don't </p>
<p v-if="type === 'A'"> A </p> <p v-else-if="type === 'B'"> B </p> <p v-else-if="type === 'C'"> C </p> <p v-else> Not A/B/C </p>
doit immédiatement suivre l'élément avec v-else
ou v-if
, sinon il ne sera pas reconnu. v-else-if
, v-else
doit également suivre un élément avec v-else-if
ou v-if
. v-else-if
. v-show
<h1 v-show="ok">Hello!</h1>La différence est que les éléments avec
seront toujours rendus et resteront dans le DOM. v-show
Basculez simplement l’affichage des propriétés CSS de l’élément. v-show
Notez que ne prend pas en charge l'élément v-show
, ni ne prend en charge d477f9ce7bf77f53fbcf36bec1b69b7a
. v-else
est un "vrai" rendu conditionnel car il garantit que les écouteurs d'événements et les sous-composants à l'intérieur du bloc conditionnel pendant le changement sont détruits et reconstruits de manière appropriée. v-if
est également paresseux : si la condition est fausse lors du rendu initial, rien n'est fait - le bloc conditionnel ne sera rendu qu'à la première fois que la condition devient vraie. v-if
est beaucoup plus simple : l'élément est toujours rendu quelles que soient les conditions initiales et est simplement basculé en fonction du CSS. v-show
a une surcharge de commutation plus élevée, tandis que v-if
a une surcharge de rendu initiale plus élevée. Par conséquent, il est préférable d'utiliser v-show
si vous devez changer très fréquemment ; si les conditions changent rarement au moment de l'exécution, il est préférable d'utiliser v-show
. v-if
<!-- Handlebars 模板 -->{{#if ok}} <h1>Yes</h1>{{/if}}Dans Vue, nous utilisons
La directive réalise la même fonction : v-if
<h1 v-if="ok">Yes</h1>Vous pouvez également utiliser
pour ajouter un "bloc else" : v-else
<h1 v-if="ok">Yes</h1>No
# Utilisez element 🎜> Regroupement de rendu conditionnel d477f9ce7bf77f53fbcf36bec1b69b7a
v-if
Parce que
élément v-if
comme un élément d'emballage invisible d477f9ce7bf77f53fbcf36bec1b69b7a
et utiliser dessus. Le résultat final du rendu sera sans v-if
éléments. d477f9ce7bf77f53fbcf36bec1b69b7a
<p id="example"> <template v-if='ok'> <h1>Title</h1> <p>Paragraph 1</p> <p>Paragraph 2</p> </template></p>
var vm = new Vue({ el: '#example', data: { ok: true } })#
et v-else
v-else-if
peuvent être représentés par la directive
: v-else
v-if
<p v-if="Math.random() > 0.5"> Now you see me</p> <p v-else> Now you don't </p>doit immédiatement suivre un élément avec
<p v-if="type === 'A'"> A </p> <p v-else-if="type === 'B'"> B </p> <p v-else-if="type === 'C'"> C </p> <p v-else> Not A/B/C </p>ou
, sinon il ne sera pas reconnu. v-else
v-if
Semblable à v-else-if
,
ou v-else
. v-else-if
v-if
v-showv-else-if
v-show
La différence est que les éléments avec
<h1 v-show="ok">Hello!</h1>Basculez simplement l’affichage des propriétés CSS de l’élément.
v-show
v-show
Notez que
, ni ne prend en charge . v-show
d477f9ce7bf77f53fbcf36bec1b69b7a
v-else
v-if vs v-show
v-if
est également paresseux : si la condition est fausse lors du rendu initial, rien n'est fait - le bloc conditionnel ne sera rendu qu'à la première fois que la condition devient vraie.
En revanche, v-if
est beaucoup plus simple : l'élément est toujours rendu quelles que soient les conditions initiales et est simplement basculé en fonction du CSS.
En général, v-if
a une surcharge de commutation plus élevée, tandis que v-show
a une surcharge de rendu initiale plus élevée. Par conséquent, il est préférable d'utiliser v-show
si vous devez changer très fréquemment ; si les conditions changent rarement au moment de l'exécution, il est préférable d'utiliser v-if
.
Recommandations associées :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!