Vue/컴포지션 API
컴포지션 API - 기본 옵션과 라이프 사이클
IT Blue
2021. 7. 22. 02:12
예제
App.vue
<template>
<h1 @click="increase">
{{ count }} / {{ doubleCount }}
</h1>
<h1 @click="changeMessage">
{{ message }} / {{ reversedMessage }}
</h1>
</template>
<script>
export default {
data() {
return {
count: 0,
message: 'Hello World!'
}
},
watch: {
message(newValue) {
console.log(newValue)
}
},
computed: {
doubleCount() {
return this.count * 2
},
reversedMessage() {
return this.message.split('').reverse().join('')
}
},
created() {
console.log(this.message)
},
mounted() {
console.log(this.count)
},
methods: {
increase() {
this.count += 1
},
changeMessage() {
this.message = 'Good?!'
}
}
}
</script>
App.Composition.vue
<template>
<h1 @click="increase">
{{ count }} / {{ doubleCount }}
</h1>
<h1 @click="changeMessage">
{{ message }} / {{ reversedMessage }}
</h1>
</template>
<script>
import { ref, computed, watch, onMounted } from 'vue'
export default {
setup() {
const count = ref(0)
const doubleCount = computed(() => count.value * 2)
function increase() {
count.value += 1
}
const message = ref('Hello World!')
const reversedMessage = computed(() => {
return message.value.split('').reverse().join('')
})
watch(message, newValue => {
console.log(newValue)
})
function changeMessage() {
message.value = 'Good?!'
}
console.log(message.value)
onMounted(() => {
console.log(count.value)
})
return {
count,
doubleCount,
increase,
message,
changeMessage,
reversedMessage
}
}
}
</script>
참고
https://v3.ko.vuejs.org/guide/composition-api-lifecycle-hooks.html
라이프사이클 훅 | Vue.js
라이프사이클 훅 이 가이드는 이미 Composition API Introduction와 Reactivity Fundamentals를 읽었다고 가정합니다. Composition API를 처음 사용하는 경우 먼저 읽어보십시오. 라이프사이클 훅에 접두사 "on"을 추
v3.ko.vuejs.org