μλͺ μ£ΌκΈ° (Life Cycle)
λ·°μ λΌμ΄ν μ¬μ΄ν΄μ ν¬κ² λ€μ λ€κ°μ§λ‘ λλλ€.
- Creation
- Mounting
- Updating
- Destruction
μ΄λ κ° λ¨κ³λ§λ€ μλμ κ°μ νΉμ§μ΄ μλ€.
Creation :: μ»΄ν¬λνΈ μ΄κΈ°ν
μ»΄ν¬λνΈ μ΄κΈ°ν λ¨κ³
beforeCreate
- λͺ¨λ ν μ€μμ κ°μ₯ λ¨Όμ μ€νλλ ν
- data μ event κ° μΈν λμ§ μλ μμ μΌλ‘ μ κ·Όνλ©΄ μλ¬λ₯Ό λΏλλ€.
<script>
export default {
data() {
return {};
},
beforeCreate() {
/* statement */
}
}
</script>
created
- data μ event κ° νμ±ν λμ΄ μ κ·Ό κ°λ₯ν μν
- Template κ³Ό VirtualDOM μ λλλ§λμ§ μλ μνμ΄λ€.
<script>
export default {
data() {
return {};
},
created() {
/* statement */
}
}
</script>
Mounting :: DOM μ½μ λ¨κ³
- μ΄κΈ° λλλ§ μ§μ μ μ»΄ν¬λνΈμ μ κ·Ό κ°λ₯ν μν (SSR μ§μ λΆκ°)
beforeMount
<script>
export default {
beforeMount() {
/* statement */
}
}
</script>
mounted
- μ»΄ν¬λνΈ, ν νλ¦Ώ, λλλ§λ DOM μ μ κ·Όν μ μλ€.
- λͺ¨λ νμ μ»΄ν¬λνΈκ° λ§μ΄νΈλ μνλ₯Ό 보μ₯νμ§ μλλ€.
vm.$nextTick
λ₯Ό μ¬μ©νλ©΄ μ μ²΄κ° λλλ§λ μνλ₯Ό 보μ₯ν μ μλ€. (SSR μ§μ λΆκ°)
<script>
export default {
mounted() {
this.$nextTick(() => {
/* λͺ¨λ νλ©΄μ΄ λλλ§λ ν μ€νν¨ */
});
}
}
</script>
λΆλͺ¨ μμ κ΄κ³μ Mount κ΄κ³μ μμ κ²½μ°μλ λ€μ μμλ₯Ό 보μ₯νλ€.
Updating :: Diff λ° μ¬ λλλ§ λ¨κ³
beforeUpdate
- μ»΄ν¬λνΈμ λ°μ΄ν°κ° λ³νμ¬ μ λ°μ΄νΈ μ¬μ΄ν΄μ΄ μμλ λ μ€ν
- DOMμ΄ μ¬ λλλ§λκ³ Fetch λκΈ° μ§μ μ μ€ν
- μ¬ λλλ§λκΈ° μ΄μ μ μ μνμ λ°μ΄ν°λ₯Ό μ»μμ μμΌλ©° λ λ§μ λ³κ²½μ΄ κ°λ₯νλ€.
- μ΄ λ³κ²½μΌλ‘μΈν μ¬ λλλ§μ νΈλ¦¬κ±° λμ§ μλλ€.
<script>
export default {
beforeUpdate() {
/* statement */
}
}
</script>
updated
- μ»΄ν¬λνΈ λ°μ΄ν°κ° λ³νμ¬ μ¬ λλλ§μ΄ μΌμ΄λ ν μ€νλλ€.
- DOMμ΄ μ λ°μ΄νΈ μλ£λ μνμ΄λ―λ‘ DOMμ μ’ μμ μΈ μ°μ°μ ν μ μλ€.
- μ¬κΈ°μ μνλ₯Ό λ³κ²½νλ©΄ 무ν루νμ λΉ μ§μ μλ€.
vm.$nextTick
λ₯Ό μ¬μ©νλ©΄ μ μ²΄κ° μ¬ λλλ§λ μνλ₯Ό 보μ₯ν μ μλ€.
<script>
export default {
updated() {
this.$nextTick(() => {
/* λͺ¨λ νλ©΄μ΄ μ¬ λλλ§λ ν μ€νν¨ */
});
}
}
</script>
Destruction :: ν΄μ²΄ λ¨κ³
beforeDestroy
- λ·° μΈμ€ν΄μ€ μ κ±°λκΈ° μ§μ μ νΈμΆ
- μ»΄ν¬λνΈμ μλ λͺ¨μ΅κ³Ό κΈ°λ₯λ€μ κ·Έλλ‘ κ°μ§κ³ μλ€.
- μ΄λ²€νΈ 리μ€λλ₯Ό μ κ±° νκ±°λ reactive subscription μ μ κ±° νκ³ μ ν λ μ¬μ©νλ€. (SSR μ§μ λΆκ°)
<script>
export default {
beforeDestroy() {
/* statement */
}
}
</script>
destroyed
- λ·° μΈμ€ν΄μ€ μ κ±°λ ν νΈμΆλλ€. (SSR μ§μ λΆκ°)
- λͺ¨λ μ΄λ²€νΈ 리μ€λκ° μ κ±°λλ€.
- λͺ¨λ νμ (μμ) 리μ€λκ° μ κ±°λλ€.
<script>
export default {
destroyed() {
/* statement */
}
}
</script>