Vue loading overlay component for full-screen loading indicator.
full screen loader, loading gif full screen, full screen loading overlay css, full screen loader jquery, full screen spinner, html full screen loading overlay
How to make use of it:
Installation:
# yarn yarn add [email protected]^4.0 # npm npm install [email protected]^4.0
Use as a component:
<template> <div class="vld-parent"> <loading v-model:active="isLoading" :can-cancel="true" :on-cancel="onCancel" :is-full-page="fullPage"/> <label><input type="checkbox" v-model="fullPage">Full page?</label> <button @click.prevent="doAjax">fetch Data</button> </div> </template> <script> import Loading from 'vue-loading-overlay'; import 'vue-loading-overlay/dist/vue-loading.css'; export default { data() { return { isLoading: false, fullPage: true } }, components: { Loading }, methods: { doAjax() { this.isLoading = true; // simulate AJAX setTimeout(() => { this.isLoading = false }, 5000) }, onCancel() { console.log('User cancelled the loader.') } } } </script>
Install the plugin in your app.
import {createApp} from 'vue'; import VueLoading from 'vue-loading-overlay'; import 'vue-loading-overlay/dist/vue-loading.css'; // Your app initialization logic goes here const app = createApp({}); app.use(VueLoading); app.mount('#app');
Then use the plugin in your plugin.
<template> <form @submit.prevent="submit" class="vld-parent" ref="formContainer"> <!-- your form inputs goes here--> <label><input type="checkbox" v-model="fullPage">Full page?</label> <button type="submit">Login</button> </form> </template> <script> export default { data() { return { fullPage: false } }, methods: { submit() { let loader = this.$loading.show({ // Optional parameters container: this.fullPage ? null : this.$refs.formContainer, canCancel: true, onCancel: this.onCancel, }); // simulate AJAX setTimeout(() => { loader.hide() }, 5000) }, onCancel() { console.log('User cancelled the loader.') } } } </script>
Available props
The component accepts these props:
Attribute | Type | Default | Description |
---|---|---|---|
active | Boolean | false | Show loading by default when true , use it as v-model:active |
can-cancel | Boolean | false | Allow user to cancel by pressing ESC or clicking outside |
on-cancel | Function | ()=>{} | Do something upon cancel, works in conjunction with can-cancel |
is-full-page | Boolean | true | When false ; limit loader to its container^ |
transition | String | fade | Transition name |
color | String | #000 | Customize the color of loading icon |
height | Number | * | Customize the height of loading icon |
width | Number | * | Customize the width of loading icon |
loader | String | spinner | Name of icon shape you want use as loader, spinner or dots or bars |
background-color | String | #fff | Customize the overlay background color |
opacity | Number | 0.5 | Customize the overlay background opacity |
z-index | Number | 9999 | Customize the overlay z-index |
enforce-focus | Boolean | true | Force focus on loader |
lock-scroll | Boolean | false | Freeze the scrolling during full screen loader |
blur | String | 2px | Value for the CSS blur backdrop-filter. Set to null or an empty string to disable blurring |
Fullscreen Loading Indicator, Vue Loading Overlay Component Plugin/Github, loading spinner examples
See Demo And Download
Official Website(ankurk91): Click Here
This superior jQuery/javascript plugin is developed by ankurk91. For extra Advanced Usages, please go to the official website.