Lifecycle Hooks
๊ฐ์
โ ๊ฐ Vue ์ธ์คํด์ค๋ ์์ฑ๊ณผ ์๋ฉธ์ ๊ณผ์ ์ค ๋จ๊ณ๋ณ ์ด๊ธฐํ ๊ณผ์ ์ ๊ฑฐ์นจ
- Vue ์ธ์คํด์ค๊ฐ ์์ฑ๋ ๊ฒฝ์ฐ, ์ธ์คํด์ค DOM์ ๋ง์ดํธํ๋ ๊ฒฝ์ฐ, ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋์ด DOM์ ์ ๋ฐ์ดํธ ํ๋ ๊ฒฝ์ฐ ๋ฑ
โ ๊ฐ ๋จ๊ณ๊ฐ ํธ๋ฆฌ๊ฑฐ๊ฐ ๋์ด ํน์ ๋ก์ง์ ์คํํ ์ ์์
โ ์ด๋ฅผ lifecycle hook์ด๋ผ ํ๋ค
Lifecycle Hooks
created
โ Vue instance๊ฐ ์์ฑ๋ ํ ํธ์ถ๋จ
โ data, computed๋ฑ์ ์ค์ ์ด ์๋ฃ๋ ์ํ
โ ์๋ฒ์์ ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ vue instance์ data์ ํ ๋นํ๋ ๋ก์ง์ ๊ตฌํํ๊ธฐ์ ์ ํฉ
โ ๋จ, mount๋์ง ์์ ์์์ ์ ๊ทผํ ์ ์์
export default {
...
created() {
this.getDogImage()
},
}
โ ๋ฒํผ ๋๋ฅด๊ธฐ ์ ์ ์ฒซ ์คํ ์ ๊ธฐ๋ณธ ์ฌ์ง ์ถ๋ ฅ
mounted
export default {
...
mounted() {
const button = document.querySelector('button')
button.innerText ='๋ฉ๋ฉ!'
}
}
โ Vue instance๊ฐ ์์์ mount๋ ํ ํธ์ถ
โ mount๋ ์์ ์กฐ์ ๊ฐ๋ฅ
updated
export default {
...
updated() {
console.log('์๋ก์ด ๋๊ทธ')
}
}
โ ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋์ด DOM์ ๋ณํ๋ฅผ ์ค ๋ ํธ์ถ
Lifecycle Hooks์ ํน์ง
โ Lifecycle Hooks๋ ์ปดํฌ๋ํธ ๋ณ๋ก ์ ์ํ ์ ์์
โ ๋ถ๋ชจ ์ปดํฌ๋ํธ์ mounted hook์ด ์คํ๋์๋ค๊ณ ํด์ ์์์ด mount ๋ ๊ฒ์ด ์๋๊ณ , ๋ถ๋ชจ ์ปดํฌ๋ํธ๊ฐ updated hook์ด ์คํ๋์๋ค๊ณ ํด์ ์์์ด updated๋ ๊ฒ๋ ์๋๋ค
- ๋ถ์ฐฉ ์ฌ๋ถ๊ฐ ๋ถ๋ชจ -์์ ๊ด๊ณ์ ๋ฐ๋ผ ์์๋ฅผ ๊ฐ์ง๊ณ ์์ง ์๋ค!
โ instance๋ง๋ค ๊ฐ๊ฐ์ Lifecycle์ ๊ฐ์ง๋ค
'โญ Personal_Study > Vue' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Todo: Local Storage (0) | 2022.11.16 |
---|---|
Vuex ํ์ฉํด Todo SPA ์ฑ ๋ง๋ค๊ธฐ (0) | 2022.11.15 |
Vuex (0) | 2022.11.14 |
Emit Event (0) | 2022.11.13 |
Pass Props (0) | 2022.11.12 |
๋๊ธ