シンプルなカウントダウンタイマー「vue-awesome-countdown」

2019年10月21日

シンプルなカウントダウンタイマー「vue-awesome-countdown」

vue-awesome-countdownとは

シンプルなカウントダウンタイマー「vue-awesome-countdown」

 

vue-awesome-countdownは、豊富なスロットとメソッドを備えた超軽量なカウントダウンタイマーです。
プロセス全体と予想される終了時間との間のエラーは、わずか1〜3ミリ秒と高精度を誇っています。

 

インストール

以下のnpmyarnCDNを使ってインストールします。

npm

npm install vue-awesome-countdown --save

yarn

yarn add vue-awesome-countdown

CDN

<script src="https://unpkg.com/vue-awesome-countdown@latest"></script>

 

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

https://github.com/mlinquan/vue-awesome-countdown

 

導入手順

1. ライブラリの取り込み

(1)webpack等の場合 ※モジュール版は未検証です。

import vueAwesomeCountdown from 'vue-awesome-countdown'

(2)WEBページの場合

const vueAwesomeCountdown = window['vue-awesome-countdown'].default;

2.メソッドを設定

Vue.useに上記で取得した vueAwesomeCountdown を読み込ませます。

startCountdown stopCountdown switchCountdown のメソッドを準備します。

Vue.use(vueAwesomeCountdown);

let app = new Vue({
  el: '#app',
  methods: {
    doRestart: function(){
      this.$refs.cnt.startCountdown(true)
    },
    doStop: function(){
      this.$refs.cnt.stopCountdown()
    },
    doSwitch: function(){
      this.$refs.cnt.switchCountdown()
    }
  }
});

3. テンプレートを準備

<countdown> でカウントダウンコンポーネントを呼び出します。

auto-startfalseにすることで自動スタート機能を停止させます。

left-timeミリカウントダウン時間を設定します。

<div id="app">
  <button @click="doRestart">スタート</button>
  <button @click="doStop">ストップ</button>
  <button @click="doSwitch">[再開]ー[一時停止]</button>
  <countdown :left-time="3000" :auto-start="false" ref="cnt">
    <div
      slot="process"
      slot-scope="anyYouWantedScopName">{{ `カウント: ${anyYouWantedScopName.timeObj.ceil.s}` }}</div>
    <div slot="finish">
      <span>Done!</span>
    </div>
  </countdown>
</div>

 

サンプル

>>専用ページで確認する

 

さいごに

豊富なスロットとメソッドを備えた超軽量なカウントダウンタイマーでした。

簡単な実装までしか試していないのですが、解説を見た感じだと色々できそうな予感します。

今日はこの辺でー

 

  • この記事を書いた人

カバノキ

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

-vue.js
-, , , ,