Vue.js vue-particle-effect-buttonsを使ってアニメーションのかかったbuttonを実装する

Vue.js vue-particle-effect-buttonsを使ってアニメーションのかかったbuttonを実装する

vue.jsのライブラリである 「vue-particle-effect-buttons」をインストールすると、アニメーション付きのボタンを作成することができます。ここでは、vue-particle-effect-buttonsを利用するための手順と簡単な使い方を記述してます。

環境

  • OS  CentOS 8.0.1905 (Core)
  • node v12.13.1
  • npm 6.13.2
  • @vue/cli 4.1.1

Vue環境構築

下記のコマンドで構築。今回は、vueappという名前でプロジェクトを作成してます。

vue create vueapp

プロジェクト作成時は、defaultを選択してます 。

Vue CLI v4.1.1? Please pick a preset: default (babel, eslint)

vue-particle-effect-buttonsインストール

下記の手順でインストールします。

※今回はbootstrap,sassも使用するので両方インストールします

## 移動
cd vueapp

## インストール
npm i -S vue-particle-effect-buttons

## bootstarpも利用するのでインストール
npm i -S bootstrap-vue bootstrap
 
## sass-loaderも利用するのでインストール
npm i -S sass-loader node-sass

vue-particle-effect-buttons使い方

src配下のApp.vueを下記のように編集します。

<template>
  <div id="app">
    <ParticleEffectButton
      :visible.sync="btnOps.visible"
      :animating.sync="btnOps.animating"
      :options="btnOps"
      cls="btn-cls"
    >
    button
    </ParticleEffectButton>
    <div>
      <button @click="btnOps.visible=!btnOps.visible" class="btn btn-info">toggleスイッチ</button>
    </div>
  </div>
</template>
<style lang="scss">
@import "~bootstrap/scss/bootstrap-reboot",
"~bootstrap/scss/buttons";
</style>
<script>
import ParticleEffectButton from "vue-particle-effect-buttons"

export default {
  components: {
    ParticleEffectButton
  },
  data() {
    return {
      btnOps: {
        type: "triangle",
        easing: "easeOutQuart",
        size: 7,
        particlesAmountCoefficient: 4,
        oscillationCoefficient: 2,
        color: function () {
          return Math.random() < 0.5 ? "#000000" : "#ffffff";
        },
        visible: true,
        animating: false
      },
    }
  },
};
</script>

<style>
#app {
  font-family: 'Avenir', Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  padding-top: 150px;
  margin: 0 auto;
  width: 800px;
}
</style>

起動します。

npm run serve

ブラウザから http://プライベートIP:8080 に アクセスすると、アニメーションのかかったbuttonが作成されていることが確認できます。