๐Lifecycle Hooks

- ๊ฐ Vue ์ธ์คํด์ค๋ ์์ฑ๋ ๋ ์ผ๋ จ์ ์ด๊ธฐํ ๋จ๊ณ๋ฅผ ๊ฑฐ์นจ
- ์๋ฅผ ๋ค์ด ๋ฐ์ดํฐ ๊ด์ฐฐ ์ค์ ์ด ํ์ํ ๊ฒฝ์ฐ, ์ธ์คํด์ค๋ฅผ DOM์ ๋ง์ดํธํ๋ ๊ฒฝ์ฐ, ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋์ด DOM๋ฅผ ์ ๋ฐ์ดํธํ๋ ๊ฒฝ์ฐ ๋ฑ
- ๊ทธ ๊ณผ์ ์์ ์ฌ์ฉ์ ์ ์ ๋ก์ง์ ์คํํ ์ ์๋ Lifecycle Hooks๋ ํธ์ถ๋จ
- ๊ณต์๋ฌธ์๋ฅผ ํตํด ๊ฐ ๋ผ์ดํ์ฌ์ดํด ํ ์ ์์ธ ๋์์ ์ฐธ๊ณ
|Lifecycle Hooks์ ์์
<body>
<div id="app">
<img v-if="imgSrc" :src="imgSrc" alt="sample img">
<button @click="getImg">GetDog</button>
</div>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
const API_URL = 'https://dog.ceo/api/breeds/image/random'
const app = new Vue({
el: '#app',
data: {
imgSrc: '',
},
methods: {
getImg: function () {
axios.get(API_URL)
.then(response => {
this.imgSrc = response.data.message
})
}
},
//์ธ๋ถ API์์ ์ด๊ธฐ ๋ฐ์ดํฐ ๋ฐ์์ค๊ธฐ
created: function(){
this.getImg()
}
})
</script>
</body>
- created hook์ vue ์ธ์คํด์ค๊ฐ ์์ฑ๋ ํ์ ํธ์ถ ๋จ
- created๋ฅผ ์ฌ์ฉํด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด๊ธฐ ๋ฐ์ดํฐ๋ฅผ API ์์ฒญ์ ํตํด ๋ถ๋ฌ์ฌ ์ ์์
'Development > Vue.js' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Vue.js - Vue CLI (0) | 2022.05.09 |
---|---|
Vue.js - SFC(Single File Component) (0) | 2022.05.09 |
Vue.js - Template Syntax (0) | 2022.05.07 |
Vue.js - Vue Instance (0) | 2022.05.07 |
Vue.js - SPA, CSR,SSR,SEO,Vue.js์ ๊ฐ๋ ๊ณผ ์ญํ , MVVM (0) | 2022.05.07 |
๋๊ธ