問題
4
Vue.js
transitionを使ってアニメーションを追加しよう!
Vue.jsの問題に挑戦しよう!
問題
「transitionを使ってアニメーションを追加しよう!」
これまで作ってきたアプリの画面にアニメーションを加えていこう。
以下の見本動画は`transition-group`というタグを使って
実現させているぞ。リストクリックしたら右へスライドして消えていく仕様になっている。
あらかじめエディタに書くコード
--- listItem.vue
<template>
<div>
<transition name="slide-fade">
<li v-if="show" @click="show = !show" class="list-item">{{ dream.name }}</li>
</transition>
</div>
</template>
<script>
</script>
<style>
.list-item {
width: 100%;
padding: 8px;
margin-bottom: 10px;
list-style: none;
border-left: 5px solid #40b983;
border-bottom: 1px solid #40b983;
border-top: 1px solid #40b983;
border-right: 1px solid #40b983;
font-weight: 700;
cursor: pointer;
}
.list-item:hover {
background: #40b983;
opacity: .8;
color: #fff;
}
</style>
¥Vue¥
期待する画面
解答と解説(transitionを使ってアニメーションを追加しよう!)
解説
LINE登録して解答を見る
※ご登録後トークルーム下部にあるメニュー内
「無料問題集※解答付き」を押すと
解答閲覧用URLが届きます
アニメーションを付けたい部分をtransitionで囲ってname属性をつける。このname属性はなんでもいい。
cssを見てもらったらわかると思うが、name属性で指定した名前+`-enter-active`や`-leave-active`でアニメーションをどう動かすかを決めいている。