일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 청주시 지하철
- 엔진오일
- 대한민국선거
- 콜로라도
- 코란도스포츠
- 싸이클
- 자전거
- MTB
- 2024년 합계출산율
- 파리브레스트파리
- 40대아빠육아
- 전동전기톱
- 중고노트북
- 가칭 동남고등학교
- 샤오미
- 픽업트럭
- 육아휴직급여
- 청주시 일반계 고등학교
- 저출산
- 데이터시각화
- 준연동형비례대표
- 도로패임
- 감나무전지
- 아빠육아
- 인공지능
- 오프로드
- 국민을 위한 국민연금은 없다
- 액티언스포츠
- 남자육아휴직
- 미지아
Archives
- Today
- Total
열심히 일한 당신 떠나라
코딩 자율학습단(Vue.js 프런트엔드 개발 입문) 9일차 본문
7장 컴포지션 API 다루기
7.1 컴포지션 API란
ㅇ 등장배경: 옵션스 API는 데이터, 계산된 속성, 메서드, 라이프사이클 훅 등을 포함한 객체 기반 옵션 속성으로 구성. 직관적이고 단순하며, 뷰의 진입 장벽을 낮추는 역할을 하나 작은 규모 프로젝트에 어울리고 컴포넌트가 복잡해지고 상호 간의 로직을 공유해야 할 때에 코드 재사용성과 유지보수성이 저하되는 문제점 발생.
ㅇ 컴포지션 API의 장점: 함수 친화적이고 필요한 로직을 별도의 자바스크립트 파일에 작성하면 로직을 쉽게 공유 가능
ㅇ 옵션스 API 와 컴포지션 API 비교
// OptionsAPI.vue
<script>
export default {
data() {
return {
count: 0,
};
},
computed: {
doubleCount() {
return this.count * 2;
},
},
methods: {
increment() {
this.count++;
},
},
}
</script>
<template>
<h1>Count: {{ count }}</h1>
<h2>Double Count: {{ doubleCount }}</h2>
<button @click="increment">증가a</button>
</template>
// CompositionAPI.vue
<script setup>
import {computed, ref } from 'vue';
const count = ref(0);
const doubleCount = computed(() => count.value * 2);
const increment = ()=> count.value++;
</script>
<template>
<h1>Count: {{ count }}</h1>
<h2>Double Count: {{ doubleCount }}</h2>
<button @click="increment">증가c</button>
</template>
7.2 컴포지션 API의 기본 구성 요소
o 반응형 데이터 정의하기
ref(), reactive()
<script setup>
import { ref, reactive } from 'vue';
const 식별자1 = ref(값);
const 식별자2 = reactive(값);
</script>
o 템플릿 ref
o 계산된 속성
computed() : 읽기 전용
<script setup>
import { computed } from 'vue';
const 식별자 = computed( () => {
return 값;
});
</script>
get(), set() : 수정가능하나 읽기 전용으로 사용하는 것을 권장
ㅇ 함수 정의
// 형식
<script setup>
const 식별자 = function() {};
const 식별자 = () => {};
</script>
ㅇ 감시자 속성
watch(), watchEffect()
<script setup>
import { watch } from 'vue';
watch(반영형_데이터, (현재값, 이전값) => {}, {
immediate: tru, deep: true, flush: 'post' | 'sync', once: false
});
'정보교육 > 프런트엔드' 카테고리의 다른 글
vue.js 프런트엔드 개발 입문(김기수) 도서 후기 (0) | 2024.06.28 |
---|---|
코딩 자율학습단(Vue.js 프런트엔드 개발 입문) 10일차 (0) | 2024.06.28 |
코딩 자율학습단(Vue.js 프런트엔드 개발 입문) 8일차 (0) | 2024.06.27 |
코딩 자율학습단(Vue.js 프런트엔드 개발 입문) 7일차 (0) | 2024.06.25 |
코딩 자율학습단(Vue.js 프런트엔드 개발 입문) 6일차 (0) | 2024.06.24 |