Conditional Rendering â
v-if
â
āύāĻŋāϰā§āĻĻā§āĻļāĻŋāĻāĻž v-if
āĻļāϰā§āϤāϏāĻžāĻĒā§āĻā§āώ⧠āĻāĻāĻāĻŋ āĻŦā§āϞāĻ āϰā§āύā§āĻĄāĻžāϰ āĻāϰāϤ⧠āĻŦā§āϝāĻŦāĻšā§āϤ āĻšāϝāĻŧāĨ¤ āύāĻŋāϰā§āĻĻā§āĻļā§āϰ āĻ
āĻāĻŋāĻŦā§āϝāĻā§āϤāĻŋ āĻāĻāĻāĻŋ āϏāϤā§āϝ āĻŽāĻžāύ āĻĒā§āϰāĻĻāĻžāύ āĻāϰāϞā§āĻ āĻŦā§āϞāĻāĻāĻŋ āϰā§āύā§āĻĄāĻžāϰ āĻāϰāĻž āĻšāĻŦā§āĨ¤
template
<h1 v-if="awesome">Vue is awesome!</h1>
v-else
â
āĻāĻĒāύāĻŋ v-if
āĻāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ "āĻ
āύā§āϝ āĻŦā§āϞāĻ" āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰāϤ⧠v-else
āύāĻŋāϰā§āĻĻā§āĻļāĻŋāĻāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ:
template
<button @click="awesome = !awesome">Toggle</button>
<h1 v-if="awesome">Vue is awesome!</h1>
<h1 v-else>Oh no đĸ</h1>
Vue is awesome!
āĻāĻāĻāĻŋ v-else
āĻāĻŽā§āĻĒā§āύā§āύā§āĻ āĻ
āĻŦāĻŋāϞāĻŽā§āĻŦā§ āĻāĻāĻāĻŋ v-if
āĻŦāĻž v-else-if
āĻāĻŽā§āĻĒā§āύā§āύā§āĻ āĻ
āύā§āϏāϰāĻŖ āĻāϰāϤ⧠āĻšāĻŦā§ - āĻ
āύā§āϝāĻĨāĻžāϝāĻŧ āĻāĻāĻŋ āϏā§āĻŦā§āĻā§āϤ āĻšāĻŦā§ āύāĻžāĨ¤
v-else-if
â
v-else-if
, āύāĻžāĻŽ āĻ
āύā§āϏāĻžāϰā§, v-if
-āĻāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ "else if block" āĻšāĻŋāϏā§āĻŦā§ āĻāĻžāĻ āĻāϰā§āĨ¤ āĻāĻāĻŋ āĻāĻāĻžāϧāĻŋāĻāĻŦāĻžāϰ āĻļā§āĻā§āĻāϞāĻŋāϤ āĻšāϤ⧠āĻĒāĻžāϰā§:
template
<div v-if="type === 'A'">
A
</div>
<div v-else-if="type === 'B'">
B
</div>
<div v-else-if="type === 'C'">
C
</div>
<div v-else>
Not A/B/C
</div>
v-else
āĻāϰ āĻŽāϤā§, āĻāĻāĻāĻŋ v-else-if
āĻāĻŽā§āĻĒā§āύā§āύā§āĻ āĻ
āĻŦāĻŋāϞāĻŽā§āĻŦā§ āĻāĻāĻāĻŋ v-if
āĻŦāĻž v-else-if
āĻāĻŽā§āĻĒā§āύā§āύā§āĻ āĻ
āύā§āϏāϰāĻŖ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤
v-if
on <template>
â
āĻāĻžāϰāĻŖ v-if
āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻā§āĻļāĻŋāĻāĻž, āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻāĻ āĻāĻŽā§āĻĒā§āύā§āύā§āĻā§āϰ āϏāĻžāĻĨā§ āϏāĻāϝā§āĻā§āϤ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āĻāĻŋāύā§āϤ⧠āϝāĻĻāĻŋ āĻāĻŽāϰāĻž āĻāĻāĻžāϧāĻŋāĻ āĻāĻŽā§āĻĒā§āύā§āύā§āĻ āĻāĻāϞ āĻāϰāϤ⧠āĻāĻžāĻ? āĻāĻ āĻā§āώā§āϤā§āϰ⧠āĻāĻŽāϰāĻž āĻāĻāĻāĻŋ <template>
āĻāĻŽā§āĻĒā§āύā§āύā§āĻā§ v-if
āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŋ, āϝāĻž āĻāĻāĻāĻŋ āĻ
āĻĻā§āĻļā§āϝ āĻŽā§āĻĄāĻŧāĻ āĻšāĻŋāϏā§āĻŦā§ āĻāĻžāĻ āĻāϰā§āĨ¤ āĻā§āĻĄāĻŧāĻžāύā§āϤ āϰā§āύā§āĻĄāĻžāϰ āĻāϰāĻž āĻĢāϞāĻžāĻĢāϞ⧠<template>
āĻāĻŽā§āĻĒā§āύā§āύā§āĻ āĻ
āύā§āϤāϰā§āĻā§āĻā§āϤ āĻšāĻŦā§ āύāĻžāĨ¤
template
<template v-if="ok">
<h1>Title</h1>
<p>Paragraph 1</p>
<p>Paragraph 2</p>
</template>
v-else
āĻāĻŦāĻ v-else-if
āĻāĻāĻžāĻĄāĻŧāĻžāĻ <template>
āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤
v-show
â
āĻļāϰā§āϤāϏāĻžāĻĒā§āĻā§āώ⧠āĻāĻāĻāĻŋ āĻāĻŽā§āĻĒā§āύā§āύā§āĻ āĻĒā§āϰāĻĻāϰā§āĻļāύā§āϰ āĻāύā§āϝ āĻāϰā§āĻāĻāĻŋ āĻŦāĻŋāĻāϞā§āĻĒ āĻšāϞ v-show
āύāĻŋāϰā§āĻĻā§āĻļāĻŋāĻāĻžāĨ¤ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻŽā§āϞāϤ āĻāĻāĻ:
template
<h1 v-show="ok">Hello!</h1>
āĻĒāĻžāϰā§āĻĨāĻā§āϝ āĻšāϞ v-show
āϏāĻš āĻāĻāĻāĻŋ āĻāĻŽā§āĻĒā§āύā§āύā§āĻ āϏāϰā§āĻŦāĻĻāĻž āϰā§āύā§āĻĄāĻžāϰ āĻāϰāĻž āĻšāĻŦā§ āĻāĻŦāĻ DOM-āĻ āĻĨāĻžāĻāĻŦā§; v-show
āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāϞāĻŋāĻŽā§āύā§āĻā§āϰ display
CSS āĻĒā§āϰāĻĒāĻžāϰā§āĻāĻŋ āĻāĻāϞ āĻāϰā§āĨ¤
v-show
<template>
āĻāĻŽā§āĻĒā§āύā§āύā§āĻāĻā§ āϏāĻŽāϰā§āĻĨāύ āĻāϰ⧠āύāĻž, āĻŦāĻž āĻāĻāĻŋ v-else
-āĻāϰ āϏāĻžāĻĨā§ āĻāĻžāĻ āĻāϰ⧠āύāĻžāĨ¤
v-if
vs. v-show
â
v-if
āĻšāϞ "āĻŦāĻžāϏā§āϤāĻŦ" āĻļāϰā§āϤāϏāĻžāĻĒā§āĻā§āώ āϰā§āύā§āĻĄāĻžāϰāĻŋāĻ āĻāĻžāϰāĻŖ āĻāĻāĻŋ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰ⧠āϝ⧠āĻāύā§āĻĄāĻŋāĻļāύāĻžāϞ āĻŦā§āϞāĻā§āϰ āĻŽāϧā§āϝ⧠āĻāĻā§āύā§āĻ āĻļā§āϰā§āϤāĻž āĻāĻŦāĻ child āĻāĻŽā§āĻĒā§āύā§āύā§āĻāĻā§āϞāĻŋ āϏāĻ āĻŋāĻāĻāĻžāĻŦā§ āϧā§āĻŦāĻāϏ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ āĻāĻŦāĻ āĻāĻāϞ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻĒā§āύāϰāĻžāϝāĻŧ āϤā§āϰāĻŋ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ā§ˇ
v-if
āĻ āĻ
āϞāϏ: āϝāĻĻāĻŋ āĻļāϰā§āϤāĻāĻŋ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ āϰā§āύā§āĻĄāĻžāϰ⧠āĻŽāĻŋāĻĨā§āϝāĻž āĻšāϝāĻŧ, āϤāĻŦā§ āĻāĻāĻŋ āĻāĻŋāĻā§āĻ āĻāϰāĻŦā§ āύāĻž - āĻļāϰā§āϤāĻāĻŋ āĻĒā§āϰāĻĨāĻŽāĻŦāĻžāϰ āϏāϤā§āϝ āύāĻž āĻšāĻāϝāĻŧāĻž āĻĒāϰā§āϝāύā§āϤ āĻļāϰā§āϤāϝā§āĻā§āϤ āĻŦā§āϞāĻ āϰā§āύā§āĻĄāĻžāϰ āĻāϰāĻž āĻšāĻŦā§ āύāĻžāĨ¤
āϤā§āϞāύāĻžāĻŽā§āϞāĻāĻāĻžāĻŦā§, v-show
āĻ
āύā§āĻ āϏāĻšāĻ - CSS-āĻāĻŋāϤā§āϤāĻŋāĻ āĻāĻāϞāĻŋāĻāϝāĻŧā§āϰ āϏāĻžāĻĨā§ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ āĻ
āĻŦāϏā§āĻĨāĻž āύāĻŋāϰā§āĻŦāĻŋāĻļā§āώ⧠āĻāĻŽā§āĻĒā§āύā§āύā§āĻāĻāĻŋ āϏāϰā§āĻŦāĻĻāĻž āϰā§āύā§āĻĄāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧāĨ¤
āϏāĻžāϧāĻžāϰāĻŖāĻāĻžāĻŦā§ āĻŦāϞāϤ⧠āĻā§āϞā§, v-if
-āĻāϰ āĻāĻāϞ āĻŦā§āϝāϝāĻŧ āĻŦā§āĻļāĻŋ āĻĨāĻžāĻā§ āϝāĻāύ v-show
-āĻāϰ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ āϰā§āύā§āĻĄāĻžāϰ āĻŦā§āϝāϝāĻŧ āĻŦā§āĻļāĻŋ āĻĨāĻžāĻā§āĨ¤ āϤāĻžāĻ āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻĒā§āϰāĻžāϝāĻŧāĻļāĻ āĻāĻŋāĻā§ āĻāĻāϞ āĻāϰāϤ⧠āĻāĻžāύ āϤāĻžāĻšāϞ⧠v-show
āĻĒāĻāύā§āĻĻ āĻāϰā§āύ āĻāĻŦāĻ āϰāĻžāύāĻāĻžāĻāĻŽā§ āĻ
āĻŦāϏā§āĻĨāĻžāϰ āĻĒāϰāĻŋāĻŦāϰā§āϤāύā§āϰ āϏāĻŽā§āĻāĻžāĻŦāύāĻž āύāĻž āĻĨāĻžāĻāϞ⧠v-if
āĻĒāĻāύā§āĻĻ āĻāϰā§āύāĨ¤
v-if
with v-for
â
āϝāĻāύ v-if
āĻāĻŦāĻ v-for
āĻāĻāϝāĻŧāĻ āĻāĻāĻ āĻāĻĒāĻžāĻĻāĻžāύ⧠āĻŦā§āϝāĻŦāĻšā§āϤ āĻšāϝāĻŧ, v-if
āĻĒā§āϰāĻĨāĻŽā§ āĻŽā§āϞā§āϝāĻžāϝāĻŧāύ āĻāϰāĻž āĻšāĻŦā§āĨ¤ āĻŦāĻŋāϏā§āϤāĻžāϰāĻŋāϤ āĻāĻžāύāĻžāϰ āĻāύā§āϝ āϤāĻžāϞāĻŋāĻāĻž āϰā§āύā§āĻĄāĻžāϰāĻŋāĻ āĻāĻžāĻāĻĄ āĻĻā§āĻā§āύāĨ¤
Note
āĻ
āύā§āϤāϰā§āύāĻŋāĻšāĻŋāϤ āĻ
āĻā§āϰāĻžāϧāĻŋāĻāĻžāϰā§āϰ āĻāĻžāϰāĻŖā§ āĻāĻāĻ āĻāϞāĻŋāĻŽā§āύā§āĻā§ v-if
āĻāĻŦāĻ v-for
āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āĻĒāϰāĻžāĻŽāϰā§āĻļ āύāϝāĻŧāĨ¤ āĻŦāĻŋāϏā§āϤāĻžāϰāĻŋāϤ āĻāĻžāύāĻžāϰ āĻāύā§āϝ āϤāĻžāϞāĻŋāĻāĻž āϰā§āύā§āĻĄāĻžāϰāĻŋāĻ āĻāĻžāĻāĻĄ āĻĒāĻĄāĻŧā§āύāĨ¤
GitHub-āĻ āĻāĻ āĻĒā§āώā§āĻ āĻžāĻāĻŋ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻāϰā§āύ