Axios, Template

์ธํ”„๋Ÿฐ Vue.js ์‹œ์ž‘ํ•˜๊ธฐ - Age of Vue / ์žฅ๊ธฐํšจ(์บกํ‹ดํŒ๊ต)

Axios ํ˜ธ์ถœ ์ „ ํ›„์˜ this ์ฐจ์ด

  • Axios ํ˜ธ์ถœ ์ „์˜ this : ์ธ์Šคํ„ด์Šค๋‚˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ฐ”๋ผ๋ณด๋Š” this (๋ทฐ๋ชจ๋ธ)

  • Axios ํ˜ธ์ถœ ํ›„์˜ this : ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋ฉด์„œ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ๊ฐ€ ๋ฐ”๋€Œ๋ฉด์„œ this์˜ ๋‚ด์šฉ๋„ ๋ฐ”๋€œ

  • (์ฝ˜์†”์—์„œ ์ง์ ‘ ํ™•์ธํ•ด๋ณด๋‹ˆ ํ˜ธ์ถœ ์ „์˜ this๋Š” Vue, ํ˜ธ์ถœ ํ›„์˜ this๋Š” window๋ผ๊ณ  ๋œฌ๋‹ค)

ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)์™€ ์„œ๋ฒ„์˜ HTTP ํ†ต์‹  ๊ตฌ์กฐ

  1. HTTP Request(์š”์ฒญ) : ๋ธŒ๋ผ์šฐ์ €(ํด๋ผ์ด์–ธํŠธ) -> ์„œ๋ฒ„

  2. ๋ฐฑ์—”๋“œ ๋กœ์ง : ์„œ๋ฒ„

  3. ๋ฐ์ดํ„ฐ ์š”์ฒญ : ์„œ๋ฒ„ -> DB

  4. ๋ฐ์ดํ„ฐ ์‘๋‹ต : DB -> ์„œ๋ฒ„

  5. ๋ฐฑ์—”๋“œ ๋กœ์ง : ์„œ๋ฒ„

  6. HTTP Response(์‘๋‹ต) : ์„œ๋ฒ„ -> ๋ธŒ๋ผ์šฐ์ €(ํด๋ผ์ด์–ธํŠธ)

ํฌ๋กฌ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ Network

  • Headers : HTTP ์ •๋ณด

  • Preview : Response์˜ ๋‚ด์šฉ์„ ๊ตฌ์กฐํ™”ํ•ด์„œ ๋ณผ ์ˆ˜ ์žˆ์Œ

ํฌ๋กฌ ๊ฐœ๋ฐœ์ž๋„๊ตฌ ๊ณต์‹๋ฌธ์„œ

Template

ํ…œํ”Œ๋ฆฟ ๋ฌธ๋ฒ•์ด๋ž€ ๋ทฐ๋กœ ํ™”๋ฉด์„ ์กฐ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•

  • ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

  • ๋””๋ ‰ํ‹ฐ๋ธŒ

๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

๋ทฐ ์ธ์Šคํ„ด์Šค์—์„œ ์ •์˜ํ•œ ์†์„ฑ๋“ค์„ ํ™”๋ฉด์— ํ‘œ์‹œํ•˜๋Š” ๋ฐฉ๋ฒ• (์ฝง์ˆ˜์—ผ ๊ด„ํ˜ธ Mustache Tag)

<div>{{ message }}</div>
new Vue({
    data: {
        message: 'Hello Vue.js'
    }
})

๋””๋ ‰ํ‹ฐ๋ธŒ

๋ทฐ๋กœ ํ™”๋ฉด์˜ ์š”์†Œ๋ฅผ ๋” ์‰ฝ๊ฒŒ ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ ๋ฌธ๋ฒ• (v-...)

<div>
    <span v-if="show">
        Hello
    </span>
    <span v-else>
        Vue.js
    </span>
    <span v-show="show">
        Hi
    </span>
</div>
new Vue({
    data: {
        show: false
    }
})

v-if์™€ v-show์˜ ์ฐจ์ด์ 

  • v-if ์‚ฌ์šฉ ์‹œ์—๋Š” DOM์—์„œ ํ•ด๋‹น ์—˜๋ฆฌ๋จผํŠธ๊ฐ€ ์•„์˜ˆ ์ œ๊ฑฐ๋จ

  • v-show ์‚ฌ์šฉ ์‹œ์—๋Š” DOM์—๋Š” ๋‚จ์•„์žˆ๊ณ  style="display: none;"์ด ์ ์šฉ๋จ

ํ‚ค๋ณด๋“œ ์ž…๋ ฅ ์ด๋ฒคํŠธ

//enter๋ฅผ ์ž…๋ ฅํ•  ๋•Œ๋งŒ logText๋ฅผ ์‹คํ–‰
<input type="text" v-on:keyup.enter="logText">

Vuejs ๊ณต์‹ ๊ฐ€์ด๋“œ

Last updated