Vue Intermediate

JSONPlaceholder ์‚ฌ์šฉํ•˜๊ธฐ

https://jsonplaceholder.typicode.com/

Array concat vs spread operator vs push

https://www.measurethat.net/Benchmarks/Show/4223/0/array-concat-vs-spread-operator-vs-push

Vue instance lifecycle hooks

image-20200526102745634

Scrollmonitor ์‚ฌ์šฉํ•˜๊ธฐ

cdn

<script src="https://cdn.jsdelivr.net/npm/scrollmonitor@1.2.0/scrollMonitor.min.js"></script>

Declarative vs Imperative

Declarative (์„ ์–ธํ˜•)

์œ ์‚ฐ์Šฌ์„ ๋งŒ๋“ค์–ด์ค˜

(๋Œ€์‹ ํ•ด์„œ ์ ˆ์ฐจ๋ฅผ ์ˆ˜ํ–‰ -> Framework)

  • Vue.js

    • ๋ฐ์ดํ„ฐ์˜ ๋ณ€ํ™”์— ๋งž์ถฐ UI๋ฅผ ๋ณ€๊ฒฝ

    • UI ๋‹จ๊ณ„ (Hook)

  • == django ์˜ url('/articles') -> views (list_article())

  • == JS ์ฝ”๋“œ๊ฐ€ ์ฒ˜์Œ ์ƒ์„ฑ ๋˜์—ˆ์„ ๋•Œ (hook) -> function()

Imperative (๋ช…๋ นํ˜•, ์ ˆ์ฐจ์ )

์ง์ ‘ ์š”๋ฆฌ (์–ธ์ œ / ๋ฌด์—‡์„)

๋ ˆ์‹œํ”ผ (์ ˆ์ฐจ์ )

  • DOM EventListener

v-for:key

  • Vue์—์„œ ๊ฐœ๋ณ„ DOM ๋…ธ๋“œ๋“ค์„ ์ถ”์ ํ•˜๊ณ  ๊ธฐ์กด ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ์žฌ์‚ฌ์šฉ, ์žฌ์ •๋ ฌํ•˜๊ธฐ ์œ„ํ•ด์„œ v-for์˜ ๊ฐ ํ•ญ๋ชฉ๋“ค์— ๊ณ ์œ ํ•œ key ์†์„ฑ์„ ์ œ๊ณตํ•ด์•ผ ํ•จ

  • v-bind๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋™์  ๊ฐ’์— ๋ฐ”์ธ๋”ฉ ํ•ด์•ผํ•จ

  • ๋ฐ˜๋ณต๋˜๋Š” DOM ๋‚ด์šฉ์ด ๋‹จ์ˆœํ•œ ๊ฒฝ์šฐ๋‚˜ ์˜๋„์ ์ธ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•ด ๊ธฐ๋ณธ ๋™์ž‘์— ์˜์กดํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•˜๋ฉด, ๊ฐ€๋Šฅํ•˜๋ฉด ์–ธ์ œ๋‚˜ v-for์— key๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค!

ex)

      <li v-for="todo in todoByStatus()" :key="todo.id :class="{isCompleted: todo.completed}"> 
        <input type="checkbox" v-model="todo.completed">
        {{ todo.content }} 
      </li>

๋™์ผํ•œ ๋…ธ๋“œ์— v-for ์™€ v-if ๊ฐ€ ํ•จ๊ป˜ ์žˆ์„ ๋•Œ

  • v-for ๊ฐ€ v-if์šฐ์„  ์ˆœ์œ„๊ฐ€ ๋†’์œผ๋ฉฐ, v-if ๋Š” ๋งค ๋ฃจํ”„๋งˆ๋‹ค ์‹คํ–‰๋œ๋‹ค.

  • ํ•˜์ง€๋งŒ Vue ๊ณต์‹๋ฌธ์„œ์— ์˜ํ•˜๋ฉด ๋‘ directive๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์ง€์–‘ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๊ณ  ํ•œ๋‹ค.

    • v-if๊ฐ€ v-for๋ฅผ ๊ฐ์‹ธ๋Š” ํ˜•ํƒœ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ๊ณ ํ•œ๋‹ค

watch vs computed

  • watch (angular)

    • ๋ฐ์ดํ„ฐ ๋ณ€ํ™”๋ฅผ ์ง€์ผœ๋ณด๋Š” hook

    • ํŠน์ • ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€ํ™” ๋˜์—ˆ์„ ๋•Œ, ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ & render

    • imperative

  • computed

    • ๋ฐ์ดํ„ฐ ๋ณ€ํ™”๋ฅผ ๋”ฐ๋กœ ์ง€์ผœ๋ณด์ง€ ์•Š๊ณ ,

    • ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€ํ™”ํ•˜์˜€์„ ๋•Œ, ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ & render

    • declarative

      • watch๋กœ ์“ฐ๋ฉด ์ง์ ‘ ์งœ์•ผ๋˜๋Š” ๊ฒƒ์„ computed์—์„œ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ํ•ด์ค€๋‹ค!!

+

Same Origin Policy & Cross Origin Resource Sharing

header์— ์ •๋ณด๊ฐ€ ๋‹ด๊ฒจ์žˆ์Œ

Same Origin Policy

  • ๊ฐ™์€ Server resource (์›์ฒœ)

Cross Origin Resource Sharing (CORS)

  • ๋‹ค๋ฅธ Source์—์„œ ์˜ค๋Š” ๊ฒƒ๋„ ํ—ˆ์šฉ ํ•˜๋Š” ์ง€ ์—ฌ๋ถ€

Last updated

Was this helpful?