Composition API
- Vue2에서는 Options API를 사용한다. Options API는 개발자에게 코드의 직관성, 가독성을 높이지만 프로젝트의 규모가 커질수록 유지보수가 어려워진다. 이를 보완하기 위해 Vue3에서는 Composition API를 사용한다.
- https://hjkang.tistory.com/73
Vue2
<script>
export default {
data: () => ({
count: 0,
})
methods: {
increment() {
this.count++;
},
decrement() {
this.count--;
}
}
}
</script>
Vue3
<script setup>
import { ref } from 'vue';
const count = ref(0);
const increment = () => count.value++;
const decrement = () => count.value--;
</script>
Fragments
- Vue2에서는 컴포넌트의 루트 노드가 한 개였어야 했지만, Vue3에서는 여러 개의 루트 노드를 지정할 수 있다.
Vue2
<template>
<div>
<header>...</header>
<main>...</main>
<footer>...</footer>
</div>
</template>
Vue3
<template>
<header>...</header>
<main>...</main>
<footer>...</footer>
</template>
CSS 변수
- Vue3에서는 template에서 정의한 변수를 그대로 style에서 사용할 수 있다.
<template>
<div class="text">hello world</div>
</template>
<script>
export default {
data() {
return {
color: 'blue'
}
}
}
</script>
<style>
.text {
color: var(--color);
}
</style>
v-if
- Vue2에서는 v-if를 사용할 때 key 사용을 권장했지만 Vue3에서는 key를 자동으로 생성해준다.
Vue2
<div v-if="condition" key="yes">YES</div>
Vue3
<div v-if="condition">YES</div>
v-for
- template에서 v-for의 사용이 가능해졌다.
<template v-for="item in list" :key="item.id">
<div>...</div>
</template>
참고로 Vue3 부터는 v-if와 v-for을 한 곳에서 사용하지 못한다.
참고
'FrontEnd' 카테고리의 다른 글
Vite (0) | 2023.11.12 |
---|---|
Vue3 - Composition API 사용법 (1) | 2023.11.12 |
React.js - useEffect 훅 (1) | 2023.10.29 |
NestJS - Query Params로 배열 받기(DTO 사용) (0) | 2023.08.10 |
NextJS - 클라이언트 사이드에서 쿠키 저장 (0) | 2023.08.06 |