티스토리 뷰
https://vuejs.org/examples/#modal
Vue.js
Vue.js - The Progressive JavaScript Framework
vuejs.org
vue에서는 공식적으로 지원하는 모달이 있다. 뷰에서는 애니메이션과 트랜지션을 라이브러리단에서 지원한다. 그래서 간단히 class에 맞춰 넣기만 해도 사용할 수 있다.
slot을 사용할 때에는 사용하려는 컴포넌트 태그로 감싸서 일반태그에 slot을 넣어주거나, template #namedm로 사용할 수 있다.
<template>
<div>
<input type="text" v-model="newTodoItem">
<button @click="addTodo"> add</button>
<VModal v-bind:show="showModal" v-on:close="closeModal">
<h4 slot="body">경고!</h4>
<!--
<template #body>
<h4>경고!</h4>
</template>
-->
</VModal>
</div>
</template>
Transition 사용해보기
개발자로써 css를 사용해 부드러운 화면을 만드는 것은 늘 어려운 일이다. vue에서는 이런 트랜지션을 사용하기 편하게 라이브러리 단에서 제공하고 있다.
https://ko.vuejs.org/guide/built-ins/transition-group
Vue.js
Vue.js - The Progressive JavaScript Framework
vuejs.org
<template>
<div>
<TransitionGroup name="list" tag="ul">
<li v-for="(item,index) in propsData" v-bind:key="item.item">
<div v-on:click="toggleComplete(item, index)" v-bind:class="{good : item.completed}">췍</div>
{{ item.item }}
<button type="button" v-on:click="remove(item,index)">삭제</button>
</li>
</TransitionGroup>
</div>
</template>
<style>
.list-enter-active,
.list-leave-active {
transition: all 0.5s ease;
}
.list-enter-from,
.list-leave-to {
opacity: 0;
transform: translateX(30px);
}
</style>
간단히 이런느낌으로 가능한데 <TransitionGroup> 태그의 name에 주목할 필요가 있다.
<TransitionGroup name="list" tag="ul">
<style>
.list-enter-active,
.list-leave-active {
transition: all 0.5s ease;
}
.list-enter-from,
.list-leave-to {
opacity: 0;
transform: translateX(30px);
}
</style>
name="list"인 부분으로 인해 style에서 list로 시작되는 부분의 css들이 적용된다. 이런 부분이 vue에서 제공하는 transition의 강점이라 볼 수 있다.
문서를 보면 Enter와 Leave에 맞춰 사용할 수 있다.
tag는 ul로 만들어진다고 보면된다.
'dev > vue3' 카테고리의 다른 글
ES6 - Arrow Function (0) | 2025.01.10 |
---|---|
ES6란 무엇인가 그리고 Babel (const & let) (0) | 2025.01.08 |
created 및 컴포넌트 구조 (0) | 2025.01.07 |
vue3 프로젝트 웹팩으로 설치 (0) | 2025.01.07 |
v-model, v-on:submit 및 axios (0) | 2025.01.05 |
- Total
- Today
- Yesterday
- 스프링부트
- filter
- jpa api
- 향해플러스
- 백엔드 개발자 역량
- hypertexttransferprotocol
- 로그인
- exception
- rejectValue
- 항해99
- BindingResult
- 백엔드 개발자 공부
- 향해99
- JPA
- 인터셉터
- ArgumentResolver
- 예외처리
- React
- 스프링공부
- 리터럴
- 항해플러스
- react실행
- HTTP
- Intercepter
- reject
- thymleaf
- Java
- 컨트
- SpringBoot
- 향해플러스백엔드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |