VueLoaders is a library of Vue components which help you to make loading times provide a better user experience.
$ npm install @thomaswilliammcclean/vueloaders --save
<script>
import "@thomaswilliammcclean/vueloaders";
</script>
That accepts loading state as a prop and conditionally renders a spinner or your content in a slot.
<loading-container :is-loading="true">
<p slot="loader">Is loading</p>
<p slot="content">Is NOT loading</p>
</loading-container>
A button which when clicked accepts a loading state and conditionally renders a spinner inside the button.
<loading-button :is-loading="true" text="Submit">
<span>[ Is Loading ]</span>
</loading-button>