vue-img-loader
Version:
this is a image loader UI component for Vue 2.X. The image will be center positioned after loaded
103 lines (74 loc) • 2.47 kB
Markdown
## description
this is a image loader UI component for Vue 2.X. The image will be center positioned after loaded
## demo
[live demo][1]
## requirement
Vue 2.0
## install
by npm
```bash
npm i vue-img-loader --save
```
or, directly include dist/vue-img-loader.min.js in your page, VueImgLoader exposed as global variable
```html
<script src="path/to/vue-img-loader.min.js"><script>
```
then, use it as any Vue component
```js
// es6
import VueImgLoader from 'vue-img-loader';
// es5
var VueImgLoader = require('vue-img-loader');
new Vue({
...
components: {
'vue-img-loader': VueImgLoader
}
...
})
```
## usage
```html
// 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
```js
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
[1]: http://jackgit.github.io/vue-img-loader/index.html