Skip to content

Latest commit

Β 

History

History
44 lines (37 loc) Β· 2.4 KB

File metadata and controls

44 lines (37 loc) Β· 2.4 KB

[22.03.08.Tue] - Day 21

Vue.js

  • μžμ‹ μ»΄ν¬λ„ŒνŠΈμ—μ„œ λΆ€λͺ¨ μ»΄ν¬λ„ŒνŠΈλ‘œ 데이터λ₯Ό μ „λ‹¬ν•˜μ—¬ μ’€ 더 μœ μ—°ν•˜κ³  ν™•μž₯μ„± 높이기
    • this.$emit(μ»€μŠ€ν…€ 이벀트, λΆ€λͺ¨ μ»΄ν¬λ„ŒνŠΈλ‘œ 전달할 데이터)
    • μ»€μŠ€ν…€ μ΄λ²€νŠΈλŠ” μžμ‹ μ»΄ν¬λ„ŒνŠΈμ—λ§Œ κ±Έ 수 있음 (κ·Έλƒ₯ 아무 νƒœκ·Έμ— 막 κ±Έ μˆ˜λŠ” μ—†μŒ)
  • λΆ€λͺ¨ μ»΄ν¬λ„ŒνŠΈλ‘œλΆ€ν„° μžμ‹ μ»΄ν¬λ„ŒνŠΈλ‘œ μ „λ‹¬λ˜λŠ” 데이터인 props듀은 μžμ‹ μ»΄ν¬λ„ŒνŠΈμ—μ„œ 데이터 λ³€κ²½ λΆˆκ°€
    • data 뢀뢄은 μžμ‹ μ»΄ν¬λ„ŒνŠΈμ—μ„œ μ–Έμ œλ“ μ§€ λ³€κ²½ κ°€λŠ₯ (propsλŠ” λΆˆκ°€)
  • λΆ€λͺ¨ μ»΄ν¬λ„ŒνŠΈμ—μ„œ μžμ‹ μ»΄ν¬λ„ŒνŠΈμ— μžˆλŠ” ν•¨μˆ˜ 호좜 μœ„ν•΄μ„œλŠ” ref 속성 ν™œμš© (데이터, λ©”μ„œλ“œ μ ‘κ·Ό κ°€λŠ₯)
    • νƒœκ·Έ, μ»΄ν¬λ„ŒνŠΈ 어디에든 λ‹€ μ‚¬μš© κ°€λŠ₯
    • 예) μ—‘μ…€ λ‹€μš΄λ‘œλ“œ κΈ°λŠ₯, ...
  • λΆ€λͺ¨ μ»΄ν¬λ„ŒνŠΈμ—μ„œ μžμ‹ μ»΄ν¬λ„ŒνŠΈλ‘œ html ꡬ쑰 전달도 κ°€λŠ₯
    • ν‘œμ€€ν™”λœ λ ˆμ΄μ•„μ›ƒ μ»΄ν¬λ„ŒνŠΈλ‘œ ν™œμš©
    • νŠΉμ • λΆ€λΆ„λ§Œ λ°”λ€ŒλŠ” 경우, νŠΉμ • λΆ€λΆ„λ§Œ μž¬μ •μ˜ν•΄μ„œ μ‚¬μš© κ°€λŠ₯

[Note]

  • μ΅œλŒ€ν•œ ν•˜λ“œ μ½”λ”© 없이 쒋은 μž¬μ‚¬μš© μ»΄ν¬λ„ŒνŠΈ λ§Œλ“€κΈ°!
  • Vue Lifecycle hooks (μ„±λŠ₯ κ°œμ„  μœ„ν•΄ 잘 ν™œμš© κ°€λŠ₯)
    • μ–΄λŠ μ‹œμ μ— 데이터λ₯Ό κ°€μ Έμ˜¬ 것인가에 따라 μ‚¬μš©μž 체감 μ„±λŠ₯ λ‹¬λΌμ§ˆ 수 있음
    • μ‹€λ¬΄μ—μ„œ 각각의 μ‹œμ μ— μ–΄λ–€ μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” 것이 효율적일까???
    • option API - created, mounted, unmounted, data λ“± μ΄μš©ν•˜λŠ” κΈ°μ‘΄ 방식
    • setup()
      • composition API (Vue 3.0)
        • option API μ‚¬μš© μ•ˆν•˜κ³  κ΅¬ν˜„ κ°€λŠ₯
        • ν•œ 곳에 λ‹€ λͺ°μ•„μ„œ μ½”λ”© (가독성 쑰금 더 λ‚«μ§€ μ•Šμ„κΉŒ?)
          • κ°€λ…μ„±λ§Œμ„ μœ„ν•΄ ν•œ 곳에 λ‹€ λͺ¨μ•„놓고 κ΅¬ν˜„ν•˜λ©΄ 였히렀 가독성이 더 λ‚˜μ  μˆ˜λ„ 있음
          • 각각 κ΅¬λΆ„ν•˜λŠ” 것이 더 λͺ…ν™•ν•  수 있음
        • mixin μ‚¬μš© μ•ˆν•˜λ©΄μ„œ mixin의 단점 쀄일 수 μžˆλŠ” 효과 있긴 함
    • created()
      • 개발자 λŒ€μ‹  Vueκ°€ μžλ™μœΌλ‘œ ν˜ΈμΆœν•΄μ€Œ (호좜 μˆœμ„œκ°€ 있음)
    • mounted()
      • 개발자 λŒ€μ‹  Vueκ°€ μžλ™μœΌλ‘œ ν˜ΈμΆœν•΄μ€Œ
    • unmounted()
      • JS 엔진이 G.Cλ₯Ό μ΄μš©ν•˜μ—¬ λ©”λͺ¨λ¦¬ ν•΄μ œν•΄μ£ΌλŠ”λ°, λ‚΄κ°€ 직접 ν•΄μ œν•˜κ³  싢을 λ•Œ ν™œμš©
        • G.C λŒ€μƒμœΌλ‘œ λ°”λ‘œ λ©”λͺ¨λ¦¬ ν•΄μ œ μ‹œμΌœμ€Œ
  • mixin, custom directive, plugin, ... (λ‹€μŒμ£Ό μˆ˜μ—… μ˜ˆμ •)