v-if VS v-show

v-if & v-show ๋””๋ ‰ํ‹ฐ๋ธŒ ๊ณตํ†ต

  • ์กฐ๊ฑด๋ถ€์˜ ๊ฐ’์— ๋”ฐ๋ผ ํ™”๋ฉด์— ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ

  • ํ‘œํ˜„์‹์ด true ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•  ๋•Œ ๋ณด์—ฌ์ง

v-if VS v-show ๋””๋ ‰ํ‹ฐ๋ธŒ ์ฐจ์ด

์ผ๋ฐ˜์ ์œผ๋กœ ๋งํ•˜๋ฉด v-if๋Š” ํ† ๊ธ€ ๋น„์šฉ์ด ๋” ๋†’์€ ๋ฐ˜๋ฉด v-show๋Š” ์ดˆ๊ธฐ ๋ Œ๋” ๋น„์šฉ์ด ๋” ๋†’์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ๋งค์šฐ ์ž์ฃผ ์ „ํ™˜ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” v-show๋ฅผ ์„ ํ˜ธํ•˜๊ณ  ์‹คํ–‰ ์‹œ ์กฐ๊ฑด์ด ๋ณ€๊ฒฝ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋‚ฎ์œผ๋ฉด v-show๋ฅผ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค.

v-if ๋””๋ ‰ํ‹ฐ๋ธŒ (v-else-if, v-else)

  • ํ‘œํ˜„์‹์ด true ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•  ๋•Œ๋งŒ ๋ Œ๋”๋ง๋จ

  • ์ดˆ๊ธฐ๊ฐ’์— ํ•œํ•˜์—ฌ!

  • ๋‚ด๋ถ€์— ๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ, ๋‹ค๋ฅธ ๋””๋ ‰ํ‹ฐ๋ธŒ(v-for... ๋“ฑ) ๋งŽ์ด ํฌํ•จํ•  ๊ฒฝ์šฐ

  • ์˜ˆ : ๋กœ๊ทธ์ธ, ๋กœ๊ทธ์•„์›ƒ ๋ฒ„ํŠผ

<h1 v-if="awesome">Vue is awesome!</h1>
<h1 v-else>Oh no ๐Ÿ˜ข</h1>

// true html ๋ Œ๋”๋ง
<h1>Vue is awesome!</h1> 

// false html ๋ Œ๋”๋ง
<h1>Oh no ๐Ÿ˜ข</h1>

v-show ๋””๋ ‰ํ‹ฐ๋ธŒ

  • ํ‘œํ˜„์‹์ด true ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•  ๋•Œ ์—˜๋ฆฌ๋จผํŠธ๋ฅผ display ๋กœ none, blockํ•˜์—ฌ CSS ์†์„ฑ์„ ํ† ๊ธ€ํ•ด์„œ ๋ณด์—ฌ์คŒ

  • ๊ฐœ๋ฐœ์ž ๋„๊ตฌ๋ฅผ ํ™•์ธ ํ•ด๋ณด๋ฉด ํ•ญ์ƒ ๋ Œ๋”๋ง ๋˜๊ณ  DOM์— ๋‚จ์•„์žˆ๋‹ค๋Š” ์ ์ด v-if์™€์˜ ์ฐจ์ด์ 

  • ํ† ๊ธ€ ๋นˆ๋„๊ฐ€ ๋†’์€ ๊ฒฝ์šฐ, ๋‚ด๋ถ€ ์ปดํฌ๋„ŒํŠธ ์—†๊ณ  ๋””๋ ‰ํ‹ฐ๋ธŒ ์‚ฌ์šฉ๋„ ์—†๋Š” ๊ฒฝ์šฐ

  • ์˜ˆ : ๋ชจ๋‹ฌ

<h1 v-show="awesome">Vue is awesome!</h1>
<h1>Oh no ๐Ÿ˜ข</h1>

// true html ๋ Œ๋”๋ง 
<h1>Vue is awesome!</h1> // css display: block; ๋กœ ์ปจํŠธ๋กค
<h1>Oh no ๐Ÿ˜ข</h1>

// false html ๋ Œ๋”๋ง 
<h1>Vue is awesome!</h1> // css display: none; ๋กœ ์ปจํŠธ๋กค
<h1>Oh no ๐Ÿ˜ข</h1>

Last updated