1 ๋ถ„ ์†Œ์š”

๐Ÿ“š Vue.js


๐Ÿ“š Template Interpolation

Template ๋ฌธ๋ฒ• - ๋ณด๊ฐ„๋ฒ• ( Interpolation )

  • Vue ์ธ์Šคํ„ด์Šค์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ HTML Template์— ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.

๐Ÿ“š ๋ฌธ์ž์—ด

๐Ÿ“š ์›์‹œ HTML

  • ์ด์ค‘ ์ค‘๊ด„ํ˜ธ ( mustaches ) ๋Š” HTML์ด ์•„๋‹Œ ์ผ๋ฐ˜ ํ…์ŠคํŠธ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ํ•ด์„
  • ์‹ค์ œ HTML์„ ์ถœ๋ ฅํ•˜๋ ค๋ฉด v-html ๋””๋ ‰ํ‹ฐ๋ธŒ ์‚ฌ์šฉ
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
    <div id="app">
        <div>๋ฉ”์„ธ์ง€ : </div>
        <div v-text="`๋ฉ”์„ธ์ง€ : ` + msg">๋ฌด์‹œ๋œ๋‹ค</div>
        <div v-html="`๋ฉ”์„ธ์ง€ : ` + msg">๋ฌด์‹œ๋œ๋‹ค</div>
    </div>
</body>
<script>
    new Vue({
        el: "#app",
        data:{
            msg: '<h2>Hello Vue~</h2>'
        }
    });
</script>
  • ์ถœ๋ ฅ ํ™”๋ฉด


๐Ÿ“š JavaScript ํ‘œํ˜„์‹ ์‚ฌ์šฉ

  • Vue.js๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ๋‚ด์—์„œ JavaScript ํ‘œํ˜„์‹์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ์ง€์›
  • ํ•œ๊ฐ€์ง€ ์ œํ•œ ์‚ฌํ•ญ์€ ๊ฐ ๋ฐ”์ธ๋”ฉ์— ํ•˜๋‚˜์˜ ๋‹จ์ผ ํ‘œํ˜„์‹๋งŒ ํฌํ•จ๊ฐ€๋Šฅ
<body>
    <div id="app">
        <div> ์‚ฌ์šฉ</div>
        <div></div>
        <div></div>
        <div></div><br>
        <div>v-text ์‚ฌ์šฉ</div>
        <div v-text="msg + ' Vue~'"></div>
        <div v-text="num > 10 ? num * num : num + 100"></div>
        <div v-text="msg.split('').reverse().join('')"></div>
    </div>
</body>
<script>
    new Vue({
        el: "#app",
        data:{
            num: 5,
            msg: 'Hello'
        }
    });
</script>
  • ์ถœ๋ ฅ ํ™”๋ฉด


Template ๋ฌธ๋ฒ• - ๋””๋ ‰ํ‹ฐ๋ธŒ ( Directive )

v-if v-show
๋ Œ๋”๋ง false์ผ ๊ฒฝ์šฐ X ํ•ญ์ƒ O
false์ผ ๊ฒฝ์šฐ ์—˜๋ฆฌ๋จผํŠธ ์‚ญ์ œ display:none ์ ์šฉ
template ์ง€์› O X
v-else O X