目次
vue-loading-overlayとは
vue-loading-overlayは、ローディングオーバーレイを実装できるコンポーネントライブラリです。
実装方法が、わかり易く、非常に容易な点が優れています。
インストール
以下のnpm、yarn、CDNを使ってインストールします。
npm
npm install vue-loading-overlay
yarn
yarn add vue-loading-overlay
CDN
<script src="https://cdn.jsdelivr.net/npm/vue-loading-overlay@3"></script> <link href="https://cdn.jsdelivr.net/npm/vue-loading-overlay@3/dist/vue-loading.css" rel="stylesheet">
gitリポジトリは以下から取得できます。
https://github.com/ankurk91/vue-loading-overlay
導入手順
1. ライブラリの取り込み
(1)webpack等の場合 ※モジュール版は未検証です。
import Loading from 'vue-loading-overlay'; import 'vue-loading-overlay/dist/vue-loading.css';
(2)WEBページの場合
const Loading = window.VueLoading;
2.メソッドを設定
components に上記で取得した Loading を読み込ませます。
doAjax で isLoading データのboolを変更して、ローディングの表示非表示を制御します。
let app = new Vue({
el: '#app',
data: {
isLoading: false,
fullPage: true
},
components: {
"loading":Loading
},
methods: {
doAjax:function() {
let self = this;
self.isLoading = true;
// simulate AJAX
setTimeout(function(){
self.isLoading = false;
console.log('load off');
}, 1000);
},
onCancel:function() {
console.log('User cancelled the loader.')
}
}
});
3. テンプレートを準備
loadingタグがローディングのコンポーネントになります。
button をクリックすることで doAjax を起動します。
<div id="app">
<loading
:active.sync="isLoading"
:can-cancel="true"
:on-cancel="onCancel"
:is-full-page="fullPage"></loading>
<label><input type="checkbox" v-model="fullPage">Full page?</label>
<button @click.prevent="doAjax">fetch Data</button>
</div>
サンプル
さいごに
ローディングオーバーレイを実装できるコンポーネントライブラリでした。
なかなか汎用性が高く、学習コストも少なめなライブラリです。
管理人的には、今後実務で利用する機会は増えそうな気がします。
これでGithubスターが500にも満たないとは・・・
今後伸びそうな気がします。
今日はこの辺でー