導入しやすいローディングオーバーレイ「vue-loading-overlay」の使い方
by kabanoki
HTML
<script src="https://cdn.jsdelivr.net/npm/vue-loading-overlay@3"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vue-loading-overlay@3/dist/vue-loading.css">
<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>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.10/vue.min.js"></script>
CSS
#app {
padding:25px;
}
Vue
const Loading = window.VueLoading;
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.')
}
}
});