마트철수
[016] Vue.js 컴포넌트 심화 슬롯 본문
2024.05.29(수)
Vue.js 5일차
컴포넌트는 정확히 소프트웨어 개발을
마치 레고 쌓듯이 쉽게 할 수 있는 기술을 말한다.
재사용이 가능한 각각의 독립된 모듈이라고도 하며,
컴포넌트 내 정보는 외부로부터 은닉된다.
(인터페이스만 제공)
원쌤의 Vue.js 퀵스타트
- CH01 Vue.js 소개
- CH02 Vue.js를 위한 ES6
- CH03 Vue.js 기초와 Template
- CH04 Vue 인스턴스
- CH05 이벤트 처리
- CH06 스타일 적용
- CH07 단일 파일 컴포넌트를 이용한 Vue 애플리케이션 개발
- CH08 컴포넌트 심화
- CH09 Composition API
- CH10 vue-router를 이용한 라우팅
- CH11 axios를 이용한 HTTP 통신
- CH12 vue-router와 axios를 사용한 예제
- CH13 pinia를 이용한 상태 관리
CH08 컴포넌트 심화
8.1 단일 파일 컴포넌트에서의 스타일
<style scoped>
: 해당 컴포넌트에만 스타일 적용
: Vue에 특화되어있다는 것이 장단점
CSS Modules: <style module>
: 컴포넌트 수준에서 스타일 적용
: 다양한 프레임워크 지원, 모듈화된 스타일로 재사용서오가 유지보수성 ↑
8.2 슬롯
부모 컴포넌트에서 템플릿 정보를 전달하는 방법
(끼워넣어주는...)
부모 컴포넌트와 자식 컴포넌트 사이의 정보 교환 방법
: props와 이벤트 → 주로 데이터 교환
ex) <child></child> ... 내용이 없음
○ CheckBox1 NoSlotTest:
어제 내용 복습, slot 사용하지 않은 예시
범위 슬롯(Scoped slot)
: 부모 컴포넌트에서 템플릿에 테이터를 바인딩할 때
8.3 동적 컴포넌트
실습 자료

8.4 컴포넌트에서의 v-model 디렉티브
★이벤트명은 반드시 'update:속성명"
8.5 provide, inject를 이용한 공용데이터 사용
아주 많이 떨어져있는 부모-자식 간 정보를 공유하고 싶을 때
- 공용 데이터를 부모 컴포넌트(App)에서 제공(provide)
- 어느 컴포넌트(자식)에서나 필요한 데이터를 주입(inject)
최상위 루트에서 객체로 전달
8.6 텔레포트
메인 화면과 독립적이면서 공유 UI를 제공하는 경우
- 계층 구조와 관계없이 렌더링
- 99% v-if와 함께 사용
*modal:
대화상자 운영방식 2가지 중, 후면처리가 되지 않는 버전
새로운 웹 X → card의 z축을 100으로 설정 등
(반대말로는 modalless)
*static: 디폴트 / ralative: static을 원점으로 / absolute: 절대 좌표 / fixed: 고정 좌표
사용 사용하는 문단:
methods : {
changeModal() {
this.isModal = true ;
setTimeout( ()=>{ this.isModal = false }, 2000);
}
},
[예시: no-slot-test]
▼[components] > CheckBox1.vue
▼[components] > NoSlotTest.vue
▼ App.vue
▼ 슬롯 없는 최종 버전

헷갈리는 거

'KB IT's Your Life > 교육' 카테고리의 다른 글
| [018] Vue-router 그리고 script setup (0) | 2024.05.31 |
|---|---|
| [017] composition api + 함수 이해하기 (0) | 2024.05.30 |
| [015] Vue.js 단일 파일 컴포넌트 (0) | 2024.05.28 |
| [014] Vue.js Todolist 만들기 (0) | 2024.05.27 |
| [013] Bootstrap5 홈페이지 제작하기 (0) | 2024.05.25 |