Vue Instance
λ·° μΈμ€ν΄μ€λ λ·°λ‘ νλ©΄μ κ°λ°νκΈ° μν΄ νμμ μΌλ‘ μμ±ν΄μΌνλ κΈ°λ³Έ λ¨μμ΄λ€.
μΈμ€ν΄μ€ νμ
μμ±μ
new Vue()
λ‘ μΈμ€ν΄μ€λ₯Ό μμ±ν λ Vueλ₯Ό μμ±μλΌκ³ νλ€. μμ±μλ λ·° λΌμ΄λΈλ¬λ¦¬λ₯Ό λ‘λ©νκ³ λλ©΄ μ κ·Όν μ μλ€. λ·°μμ κ°λ°ν λ νμν κΈ°λ₯λ€μ μμ±μμ 미리 μ μν΄ λκ³ μ¬μ©μκ° κ·Έ κΈ°λ₯μ μ¬μ μνμ¬ νΈλ¦¬νκ² μ¬μ©νλλ‘ νκΈ°μν΄ μ¬μ©νλ€.
μμμλ κ°μ²΄λ₯Ό μλ‘ μμ±ν λ μμ£Ό μ¬μ©νλ μ΅μ κ³Ό κΈ°λ₯λ€μ 미리 νΉμ κ°μ²΄μ μ μ₯ν΄ λκ³ , μλ‘ κ°μ²΄λ₯Ό μμ±ν λ κΈ°μ‘΄μ ν¬ν¨λ κΈ°λ₯κ³Ό λλΆμ΄ κΈ°μ‘΄ κΈ°λ₯μ μ½κ² νμ₯νμ¬ μ¬μ©νλ κΈ°λ²μ΄λ€. μΌλ°μ μΌλ‘ κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μμ μ¬μ©νλ κ°μ²΄ μ μ λ°©μμΌλ‘ 미리 μ μλ μμ±κ³Ό λ©μλλ₯Ό μ¬νμ©νκΈ° μν΄ μ¬μ©νλ€.
μ΅μ
μμ±
λ·° μΈμ€ν΄μ€ μ΅μ μμ±μ μΈμ€ν΄μ€λ₯Ό μμ±ν λ μ¬μ μν data, el, template λ± μμ±μ μλ―Ένλ€.
μμ±
μ€λͺ
el
λμμ΄ λλ html element νΉμ css selector
data
νλ©΄μ 그리λλ° μ¬μ©νλ dataλ₯Ό λ°ννλ ν¨μ νΉμ dataκ°μ²΄
template
νλ©΄μ νμν HTML, CSS λ±μ λ§ν¬μ μμλ₯Ό μ μνλ μμ±
methods
νλ©΄ λ‘μ§ μ μ΄μ κ΄λ ¨λ λ©μλλ₯Ό μ μνλ μμ±
created
λ·° μΈμ€ν΄μ€κ° μμ±λμλ§μ μ€νν λ‘μ§μ μ μν μ μλ μμ±
μ ν¨ λ²μ
λ·° μΈμ€ν΄μ€λ₯Ό μμ±νλ©΄ HTMLμ νΉμ λ²μ μμμλ§ μ΅μ μμ±λ€μ΄ μ μ©λμ΄ λνλλ€. μ΄λ₯Ό μΈμ€ν΄μ€ μ ν¨ λ²μλΌκ³ νλ€. el μμ±μ κ°μ΄ κ°μ§ λ μμκ° μΈμ€ν΄μ€μ μ ν¨ λ²μμ΄λ€.
μμ μ½λμμλ #app
μ΄ elμ΄λ―λ‘, <div id="app">{{message}}</div>
κ° μ ν¨λ²μμΈ κ²μ΄λ€.
λΌμ΄ν μ¬μ΄ν΄
μΈμ€ν΄μ€μ μνμ λ°λΌ νΈμΆν μ μλ μμ±λ€μ λΌμ΄ν μ¬μ΄ν΄ μμ±μ΄λΌκ³ νλ€. κ·Έλ¦¬κ³ κ° λΌμ΄ν μ¬μ΄ν΄ μμ±μμ μ€νλλ 컀μ€ν λ‘μ§μ λΌμ΄ν μ¬μ΄ν΄ ν (hook)μ΄λΌκ³ νλ€.
λΌμ΄ν μ¬μ΄ν΄ : μΌλ°μ μΌλ‘ μ ν리μΌμ΄μ μ΄ κ°μ§λ μλͺ μ£ΌκΈ°
μμ κ·Έλ¦Όμ 보면 μΈμ€ν΄μ€κ° μμ±λκ³ λμ νλ©΄μ λΆμ°©λκ³ , μλ©ΈλκΈ°κΉμ§μ μ 체μ μΈ νλ¦μ λνλΈ λ·° μΈμ€ν΄μ€ λΌμ΄ν μ¬μ΄ν΄ λ€μ΄μ΄κ·Έλ¨μ΄λ€.
beforeCreate
μΈμ€ν΄μ€κ° μμ±λκ³ λμ κ°μ₯ μ²μμΌλ‘ μ€νλλ λΌμ΄ν μ¬μ΄ν΄ λ¨κ³μ΄λ€. μ΄ λ¨κ³μμλ data μμ±κ³Ό methods μμ±μ΄ μμ§ μΈμ€ν΄μ€μ μ μλμ΄ μμ§ μκ³ , λκ³Ό κ°μ νλ©΄ μμμλ μ κ·Όν μ μλ€.
created
data μμ±κ³Ό methods μμ±μ΄ μ μ λμκΈ° λλ¬Έμ this.data
or this.fetchData()
μ κ°μ λ‘μ§λ€μ μ΄μ©ν΄ data μμ±κ³Ό methods μμ±μ μ μλ κ°μ μ κ·Όν΄ λ‘μ§μ μ€νν μ μλ€. μμ§ μΈμ€ν΄μ€κ° νλ©΄μ λΆμ°©λκΈ° μ μ΄κΈ° λλ¬Έμ template μμ±μ μ μλ λ μμλ‘ μ κ·Όν μ μλ€.
dataμμ±κ³Ό methods μμ μ μ κ·Όν μ μλ 첫 λΌμ΄ν μ¬μ΄ν΄ λ¨κ³μ΄λ©°, μ»΄ν¬λνΈκ° μμ±λκ³ λμ μ€νλλ λ¨κ³μ΄κΈ° λλ¬Έμ μλ²μ λ°μ΄ν°λ₯Ό μμ²νμ¬ λ°μμ€λ λ‘μ§μ μννκΈ°μ μ’λ€.
beforeMount
template μμ±μ μ§μ ν λ§ν¬μ
μμ±μ render()
ν¨μλ‘ λ³ν ν el μμ±μ μ§μ ν DOMμ μΈμ€ν΄μ€λ₯Ό λΆμ°©νκΈ° μ μ νΈμΆλλ λ¨κ³μ΄λ€. render()
ν¨μκ° νΈμΆλκΈ° μ§μ μ λ‘μ§μ μΆκ°νκΈ° μ’λ€.
render()λ μλ°μ€ν¬λ¦½νΈλ‘ νλ©΄μ λμ 그리λ ν¨μ
mounted
el μμ±μμ μ§μ ν νλ©΄ μμ(DOM)μ μΈμ€ν΄μ€κ° λΆμ°©λκ³ λλ©΄ νΈμΆλλ λ¨κ³λ‘, template μμ±μ μ μν νλ©΄ μμμ μ κ·Όν μ μμ΄ νλ©΄ μμλ₯Ό μ μ΄νλ λ‘μ§μ μννκΈ° μ’μ λ¨κ³μ΄λ€. λμ μΈμ€ν΄μ€κ° λΆμ°©λμλ§μ λ°λ‘ νΈμΆλκΈ° λλ¬Έμ νμ μ»΄ν¬λνΈλ μΈλΆ λΌμ΄λΈλ¬λ¦¬μ μν΄ μΆκ°λ νλ©΄ μμλ€μ΄ μ΅μ’ HTML μ½λλ‘ λ³νλλ μμ κ³Ό λ€λ₯Ό μ μλ€.
λ³νλλ μμ μ΄ λ€λ₯Ό κ²½μ°μλ $next Tick() APIλ₯Ό νμ©νμ¬ HTML μ½λλ‘ μ΅μ’ νμ±λ λκΉμ§ κΈ°λ€λ¦° νμ λ μ μ΄ λ‘μ§μ μΆκ°νλ€.
beforeUpdate
el μμ±μμ μ§μ ν νλ©΄ μμμ μΈμ€ν΄μ€κ° λΆμ°©λκ³ λλ©΄ μΈμ€ν΄μ€μ μ μν μμ±λ€μ΄ νλ©΄μ μΉνλλ€. μΉνλ κ°λ€μ λ·°μ reactivity(λ°μμ±)μ μ 곡νκΈ°μν΄ $watch
μμ±μΌλ‘ μ κ·Όν μ μλ€.
Reactivity
λ·°μ νΉμ§ μ€ νκ°μ§λ‘, μ½λμ λ³νμ λ°λΌ νλ©΄μ΄ λ°μ¬μ μΌλ‘ λ°μνμ¬ λΉ λ₯΄κ² νλ©΄μ κ°±μ νλ κ²μ μλ―Ένλ€.
κ΄μ°°νκ³ μλ λ°μ΄ν°κ° λ³κ²½λλ©΄ λ³κ²½ μμ μΈ μ λ°μ΄ν°μ μ κ·Όν μ μμ΄ λ³κ²½ μμ λ°μ΄ν°μ κ°κ³Ό κ΄λ ¨λ λ‘μ§μ 미리 λ£μ μ μλ€.
updated
λ°μ΄ν°κ° λ³κ²½λκ³ λμ κ°μ λμΌλ‘ λ€μ νλ©΄μ κ·Έλ¦¬κ³ λλ©΄ μ€νλλ λ¨κ³μ΄λ€. λ°μ΄ν° λ³κ²½ ν νλ©΄ μμ μ μ΄μ κ΄λ ¨λ λ‘μ§μ μΆκ°νκΈ° μ’μ λ¨κ³μ΄λ€. μ΄ λ¨κ³μμ λ°μ΄ν° κ°μ λ³κ²½νλ©΄ 무ν 루νμ λΉ μ§ μ μμΌλ―λ‘ κ°μ λ³κ²½νλ €λ©΄ computed, watchμ κ°μ μμ±μ μ΄μ©ν΄μΌνλ€.
beforeDestory
λ·° μΈμ€ν΄μ€κ° νκ΄΄λκΈ° μ§μ μ νΈμΆλλ λ¨κ³λ‘, μμ§ μΈμ€ν΄μ€μ μ κ·Όν μ μμΌλ©°, λ·° μΈμ€ν΄μ€μ λ°μ΄ν°λ₯Ό μμ νκΈ° μ’μ λ¨κ³μ΄λ€.
destroyed
λ·° μΈμ€ν΄μ€κ° νκ΄΄λκ³ λμ νΈμΆλλ λ¨κ³λ‘, λ·° μΈμ€ν΄μ€μ μ μν λͺ¨λ μμ±μ΄ μ κ±°λκ³ νμμ μ μΈν μΈμ€ν΄μ€λ€ λν λͺ¨λ νκ΄΄λλ€.
Last updated