[vue] vue-router에서view마다 다른 css 점프를 설정하고 싶습니다
개요
이 글은 모바일 팩토리 Advent Calendar 2017 17일째 되는 글이다.
16일째 보도는 @tsukumaru씨의 goo-staticmaps 지도에 임의의 그림을 아이콘으로 표시하려면입니다.
며칠 전에 vue의 css 애니메이션을 접할 기회가 있었기 때문에 17일째 본 보도에서 제목과 같이 vue의 css 전환 주위를 소개했다.
무선 점프
vuev-if
나 v-show
를 통해 구성 요소의 디스플레이나 숨김을 전환하려면 <transition>
로 구성 요소를 둘러싸서 할 수 있습니다.
transsition 구성 요소의name 속성을 기반으로 하는 css 애니메이션을 재생합니다. 이 때 css 클래스 이름은 특정한 클래스 이름 *-enter-to
, *-enter
이어야 합니다.
참조: Enter/Leave 및 점프 목록 - 점프 수준<div id="demo">
<button v-on:click="show = !show">
Toggle
</button>
<transition name="fade">
<p v-if="show">hello</p>
</transition>
</div>
new Vue({
el: '#demo',
data: {
show: true
}
})
.fade-enter-active, .fade-leave-active {
transition: opacity .5s
}
.fade-enter, .fade-leave-to {
opacity: 0
}
vue-router가view를 변경할 때 점프 <router-view>
내 재현된view변경 시 점프를 설정할 때도 <transition>
로 실현할 수 있다.<transition name="fade">
<router-view></router-view>
</transition>
보기마다 다른 점프 설정
아까의 예는router-view를 통해 표시된 모든view를fade로 변환하는 것이지만 상황에 따라view에 따라 다른 점프를 설정하고 싶은 경우도 있습니다.
변환 장치
Enter/Leave 및 점프 목록 - 개별 컴포넌트 - 어셈블리 점프에는transition 구성 요소에 싸인 구성 요소에 대해 CSS 변환 클래스를 추가, 삭제함으로써 변환한다는 기술이 있다.
따라서 이전의 예에서 hoge 구성 요소가 그려지고 변환될 때 다음과 같은 종류가 부여됩니다.
hoge 구성 요소를 그릴 때<hoge class="fade-enter-active fade-enter-to"></hoge>
각 구성 요소에 대한 CSS 점프 설명
즉, CSS 클래스는 그리는 구성 요소의 루트 노드에 추가되므로 각 구성 요소에 CSS 변환을 설정하면 뷰마다 다른 변환이 가능합니다.
단순히 설정하면 *-enter-active
등 유명이 중복되기 때문에 각 부품의 스타일은 scoped css이 된다.
hoge.vue<template>
<p>HOGE</p>
</template>
<style scoped>
.fade-enter-active {
transition: all 1s 0s ease;
}
.fade-enter {
opacity: 0;
}
</style>
fuga.vue<template>
<p>HUGA</p>
</template>
<style scoped>
.fade-enter-active {
transition: all 1s 0s ease;
}
.fade-enter {
transform: translate(-100px, 0);
}
</style>
App.vue<template>
<div id="app">
<transition name="fade" appear>
<router-view></router-view>
</transition>
<div>
<router-link to="/hoge" >to hoge</router-link>
<router-link to="/fuga" >to fuga</router-link>
</div>
</div>
</template>
뷰마다 다른 점프를 설정할 수 있습니다.
총결산
scoped css를 사용하면view 설정에 따라 이동할 수 있습니다.css 애니메이션도 설정할 수 있습니다.
vue의 점프에 관한 문서만 보면 JS 연결고리와 리스트 변환 등 할 수 있는 일이 많기 때문에 이런 것들을 접했을 때 다시 정리하고 싶어요.
내일 담당자는@akihiro_0228입니다.잘 부탁드립니다.
Reference
이 문제에 관하여([vue] vue-router에서view마다 다른 css 점프를 설정하고 싶습니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tenmihi/items/5f0461ab99c862cf5234
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
vue
v-if
나 v-show
를 통해 구성 요소의 디스플레이나 숨김을 전환하려면 <transition>
로 구성 요소를 둘러싸서 할 수 있습니다.transsition 구성 요소의name 속성을 기반으로 하는 css 애니메이션을 재생합니다. 이 때 css 클래스 이름은 특정한 클래스 이름
*-enter-to
, *-enter
이어야 합니다.참조: Enter/Leave 및 점프 목록 - 점프 수준
<div id="demo">
<button v-on:click="show = !show">
Toggle
</button>
<transition name="fade">
<p v-if="show">hello</p>
</transition>
</div>
new Vue({
el: '#demo',
data: {
show: true
}
})
.fade-enter-active, .fade-leave-active {
transition: opacity .5s
}
.fade-enter, .fade-leave-to {
opacity: 0
}
vue-router가view를 변경할 때 점프 <router-view>
내 재현된view변경 시 점프를 설정할 때도 <transition>
로 실현할 수 있다.<transition name="fade">
<router-view></router-view>
</transition>
보기마다 다른 점프 설정
아까의 예는router-view를 통해 표시된 모든view를fade로 변환하는 것이지만 상황에 따라view에 따라 다른 점프를 설정하고 싶은 경우도 있습니다.
변환 장치
Enter/Leave 및 점프 목록 - 개별 컴포넌트 - 어셈블리 점프에는transition 구성 요소에 싸인 구성 요소에 대해 CSS 변환 클래스를 추가, 삭제함으로써 변환한다는 기술이 있다.
따라서 이전의 예에서 hoge 구성 요소가 그려지고 변환될 때 다음과 같은 종류가 부여됩니다.
hoge 구성 요소를 그릴 때<hoge class="fade-enter-active fade-enter-to"></hoge>
각 구성 요소에 대한 CSS 점프 설명
즉, CSS 클래스는 그리는 구성 요소의 루트 노드에 추가되므로 각 구성 요소에 CSS 변환을 설정하면 뷰마다 다른 변환이 가능합니다.
단순히 설정하면 *-enter-active
등 유명이 중복되기 때문에 각 부품의 스타일은 scoped css이 된다.
hoge.vue<template>
<p>HOGE</p>
</template>
<style scoped>
.fade-enter-active {
transition: all 1s 0s ease;
}
.fade-enter {
opacity: 0;
}
</style>
fuga.vue<template>
<p>HUGA</p>
</template>
<style scoped>
.fade-enter-active {
transition: all 1s 0s ease;
}
.fade-enter {
transform: translate(-100px, 0);
}
</style>
App.vue<template>
<div id="app">
<transition name="fade" appear>
<router-view></router-view>
</transition>
<div>
<router-link to="/hoge" >to hoge</router-link>
<router-link to="/fuga" >to fuga</router-link>
</div>
</div>
</template>
뷰마다 다른 점프를 설정할 수 있습니다.
총결산
scoped css를 사용하면view 설정에 따라 이동할 수 있습니다.css 애니메이션도 설정할 수 있습니다.
vue의 점프에 관한 문서만 보면 JS 연결고리와 리스트 변환 등 할 수 있는 일이 많기 때문에 이런 것들을 접했을 때 다시 정리하고 싶어요.
내일 담당자는@akihiro_0228입니다.잘 부탁드립니다.
Reference
이 문제에 관하여([vue] vue-router에서view마다 다른 css 점프를 설정하고 싶습니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tenmihi/items/5f0461ab99c862cf5234
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<transition name="fade">
<router-view></router-view>
</transition>
아까의 예는router-view를 통해 표시된 모든view를fade로 변환하는 것이지만 상황에 따라view에 따라 다른 점프를 설정하고 싶은 경우도 있습니다.
변환 장치
Enter/Leave 및 점프 목록 - 개별 컴포넌트 - 어셈블리 점프에는transition 구성 요소에 싸인 구성 요소에 대해 CSS 변환 클래스를 추가, 삭제함으로써 변환한다는 기술이 있다.
따라서 이전의 예에서 hoge 구성 요소가 그려지고 변환될 때 다음과 같은 종류가 부여됩니다.
hoge 구성 요소를 그릴 때
<hoge class="fade-enter-active fade-enter-to"></hoge>
각 구성 요소에 대한 CSS 점프 설명
즉, CSS 클래스는 그리는 구성 요소의 루트 노드에 추가되므로 각 구성 요소에 CSS 변환을 설정하면 뷰마다 다른 변환이 가능합니다.
단순히 설정하면
*-enter-active
등 유명이 중복되기 때문에 각 부품의 스타일은 scoped css이 된다.hoge.vue
<template>
<p>HOGE</p>
</template>
<style scoped>
.fade-enter-active {
transition: all 1s 0s ease;
}
.fade-enter {
opacity: 0;
}
</style>
fuga.vue<template>
<p>HUGA</p>
</template>
<style scoped>
.fade-enter-active {
transition: all 1s 0s ease;
}
.fade-enter {
transform: translate(-100px, 0);
}
</style>
App.vue<template>
<div id="app">
<transition name="fade" appear>
<router-view></router-view>
</transition>
<div>
<router-link to="/hoge" >to hoge</router-link>
<router-link to="/fuga" >to fuga</router-link>
</div>
</div>
</template>
뷰마다 다른 점프를 설정할 수 있습니다.
총결산
scoped css를 사용하면view 설정에 따라 이동할 수 있습니다.css 애니메이션도 설정할 수 있습니다.
vue의 점프에 관한 문서만 보면 JS 연결고리와 리스트 변환 등 할 수 있는 일이 많기 때문에 이런 것들을 접했을 때 다시 정리하고 싶어요.
내일 담당자는@akihiro_0228입니다.잘 부탁드립니다.
Reference
이 문제에 관하여([vue] vue-router에서view마다 다른 css 점프를 설정하고 싶습니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tenmihi/items/5f0461ab99c862cf5234
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여([vue] vue-router에서view마다 다른 css 점프를 설정하고 싶습니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tenmihi/items/5f0461ab99c862cf5234텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)