Animation UI Components vue.js ライブラリ

Vue.jsでanimate.cssのtransitionsを実装する「vue2-transitions」

2020年10月6日

vue2-transitionsとは

vue2-transitionsは、animate.cssライブラリを使用したtransitionsを行うライブラリです。
Vue2-transitionsを最小限使用するだけで実装することが可能です。
非常に軽量で、必要分だけインポートできるのでロードを短縮できます。

 

【動画サイズ:243KB】

 

環境

この記事は、以下の管理人の検証環境にて記事にしています。

vue.js 2.6.10
vue2-transitions 0.3.0

 

ライブラリの取得

ライブラリを取得するには、npm, yarn, CDNのどれか一つを使用します。

npm

npm i vue2-transitions

yarn

yarn add vue2-transitions

CDN

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue2-transitions.min.js"></script>

gitリポジトリは以下から取得できます。

 

導入手順

管理人が行った、動作確認サンプルを実装するために、以下の手順でソースコードを導入していきます。
このサンプルでは、transitionsを実装します。

 

step
1
ライブラリの呼び出し

まずライブラリを呼び出す為に、以下の2通りのケースで呼び出します。

ES6等で実装する場合

import {
FadeTransition,
ZoomCenterTransition,
ZoomXTransition,
CollapseTransition,
ScaleTransition,
SlideXLeftTransition,
SlideXRightTransition,
SlideYUpTransition,
SlideYDownTransition} from 'vue2-transitions'

UMDで実装する場合

const FadeTransition = window['vue2Transitions'].FadeTransition;
const ZoomCenterTransition = window['vue2Transitions'].ZoomCenterTransition;
const ZoomXTransition = window['vue2Transitions'].ZoomXTransition;
const ZoomYTransition = window['vue2Transitions'].ZoomYTransition;
const CollapseTransition = window['vue2Transitions'].CollapseTransition;
const ScaleTransition = window['vue2Transitions'].ScaleTransition;
const SlideXLeftTransition = window['vue2Transitions'].SlideXLeftTransition;
const SlideXRightTransition = window['vue2Transitions'].SlideXRightTransition;
const SlideYUpTransition = window['vue2Transitions'].SlideYUpTransition;
const SlideYDownTransition = window['vue2Transitions'].SlideYDownTransition;

 

step
2
メソッドを設定


上記で取得した 機能を components に取り込みます。

new Vue({
  el: '#app',
  components: {
    FadeTransition,
    ZoomCenterTransition,
    ZoomXTransition,
    ZoomYTransition,
    CollapseTransition,
    ScaleTransition,
    SlideXLeftTransition,
    SlideXRightTransition,
    SlideYUpTransition,
    SlideYDownTransition
  },
  data: {
    show: true
  }
});

 

step
3
テンプレートを準備

それぞれのコンポーネントを設置します。

サンプルはケバブケースで記載しています。

<div id="app">
  <p style="clear: both;"><button @click="show = !show">TOGGLE</button></p>
  <fade-transition duration="600">
    <div class="box" v-show="show">
      <p>Fade transition</p>
    </div>
  </fade-transition>
  <zoom-center-transition duration="600">
    <div class="box" v-show="show">
      <p>ZoomCenter transition</p>
    </div>
  </zoom-center-transition>
  <zoom-x-transition duration="600">
    <div class="box" v-show="show">
      <p>ZoomX transition</p>
    </div>
  </zoom-x-transition>
  <zoom-y-transition duration="600">
    <div class="box" v-show="show">
      <p>ZoomY transition</p>
    </div>
  </zoom-y-transition>
  <collapse-transition duration="600">
    <div class="box" v-show="show">
      <p>Collapse transition</p>
    </div>
  </collapse-transition>
  <scale-transition duration="600">
    <div class="box" v-show="show">
      <p>Scale transition</p>
    </div>
  </scale-transition>
  <slide-x-left-transition duration="600">
    <div class="box" v-show="show">
      <p>SlideXLeft transition</p>
    </div>
  </slide-x-left-transition>
  <slide-x-right-transition duration="600">
    <div class="box" v-show="show">
      <p>SlideXRight transition</p>
    </div>
  </slide-x-right-transition>
  <slide-y-up-transition duration="600">
    <div class="box" v-show="show">
      <p>SlideYUp transition</p>
    </div>
  </slide-y-up-transition>
  <slide-y-down-transition duration="600">
     <div class="box" v-show="show">
       <p>SlideYDown transition</p>
     </div>
  </slide-y-down-transition>
</div>

 

サンプル

今回のソースを実際に触って確認できるようにデモを用意しました。

See the Pen Vue.jsでanimate.cssのtransitionsを実装する「vue2-transitions」 by カバの樹 (@kabanoki) on CodePen.dark

 

さいごに

animate.cssライブラリを使用したtransitionsを行うライブラリでした。

今日はこの辺でー

 

 

  • この記事を書いた人

カバノキ

印刷会社のWEB部隊に所属してます。 WEB制作に携わってから、もう時期10年になります。 普段の業務では、PHPをメインにサーバーサイドの言語を扱っています。 最近のお気に入りはJavascriptです。 Vue.jsを狂喜乱舞しながら、社内に布教中です。

-Animation, UI Components, vue.js, ライブラリ
-, , , , , , ,