vue-img-loader

this is a image loader UI component for Vue 2.X. The image will be center positioned after loaded

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
vue-img-loader
4511.0.06 years ago8 years agoMinified + gzip package size for vue-img-loader in KB

Readme

description

this is a image loader UI component for Vue 2.X. The image will be center positioned after loaded

demo

live demo1

requirement

Vue 2.0

install

by npm
npm i vue-img-loader --save

or, directly include dist/vue-img-loader.min.js in your page, VueImgLoader exposed as global variable
<script src="path/to/vue-img-loader.min.js"><script>

then, use it as any Vue component
// es6
import VueImgLoader from 'vue-img-loader';

// es5
var VueImgLoader = require('vue-img-loader');

new Vue({
    ...
    components: {
        'vue-img-loader': VueImgLoader
    }
    ...
})

usage

// you will see a 200*100 lightgrey box before the image loaded, and the loaded image will be displayed in the same size
<vue-img-loader src="path/to/your/image.jpg"
                width="200"
                height="100"
                center-type="contain"
                background-color="lightgrey"></vue-img-loader>

// you can also give a preview
<vue-img-loader src="path/to/your/image.jpg"
                preview="path/to/your/preview.jpg"
                :blur-preview="false"
                width="200"
                height="100"></vue-img-loader>

// and you can blur your preview like what medium.com does
<vue-img-loader src="path/to/your/image.jpg"
                preview="path/to/your/preview.jpg"
                width="200"
                height="100"></vue-img-loader>

// and you can customize more about loading status
<vue-img-loader src="path/to/your/image.jpg" width="200" height="100">
  <h4>loading...</h4>
</vue-img-loader>

// at last, transition is supported, just assign the name of a defined vue transition
<vue-img-loader src="path/to/your/image.jpg"
                preview="path/to/your/preview.jpg"
                width="200"
                height="100"
                transition="fade"></vue-img-loader>

config

you can change VueImgLoader's default props value by change the config object. Blow are the default config
VueImgLoader.config.blurPreview = true;
VueImgLoader.config.blurRadius = 20;
VueImgLoader.config.blurAlphaChannel = false;
VueImgLoader.config.width = 0;
VueImgLoader.config.height = 0;
VueImgLoader.config.backgroundColor = '';
VueImgLoader.config.transition = '';
VueImgLoader.config.centerType = 'cover'; // "cover", "contain"

todo

will support lazy load next