# vue-image-preloader

> Vue image preloader component.

Latest version **0.2.8** (published 2018-10-26) · ISC license · 0 weekly downloads

## Install

```sh
npm install vue-image-preloader
pnpm add vue-image-preloader
yarn add vue-image-preloader
bun add vue-image-preloader
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.2.8 |
| Published | 2018-10-26 |
| First published | 2018-05-30 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 9 |
| Author | RubystarAshe |
| Maintainers | rubystarashe |
| Keywords | vue, vue-image-preloader, image |

## Links

- npm: https://www.npmjs.com/package/vue-image-preloader
- Repository: https://github.com/rubystarashe/vue-image-preloader
- Homepage: https://github.com/rubystarashe/vue-image-preloader#readme
- Issues: https://github.com/rubystarashe/vue-image-preloader/issues
- npm.io page: https://npm.io/package/vue-image-preloader

## Alternatives

- [exif-parser](https://npm.io/package/exif-parser.md) — 3.8M weekly downloads
- [vite-plugin-compression](https://npm.io/package/vite-plugin-compression.md) — 569.5K weekly downloads
- [pica](https://npm.io/package/pica.md) — 442.4K weekly downloads
- [@reportportal/client-javascript](https://npm.io/package/@reportportal/client-javascript.md) — 408.8K weekly downloads
- [@tldraw/state](https://npm.io/package/@tldraw/state.md) — 316.0K weekly downloads

## Recent versions

- 0.2.8 (latest) — 2018-10-26
- 0.2.7 — 2018-10-26
- 0.2.6 — 2018-05-31
- 0.2.5 — 2018-05-31
- 0.2.4 — 2018-05-31
- 0.2.3 — 2018-05-31
- 0.2.2 — 2018-05-31
- 0.2.1 — 2018-05-30
- 0.2.0 — 2018-05-30
- 0.1.9 — 2018-05-30
- 0.1.8 — 2018-05-30
- 0.1.7 — 2018-05-30
- 0.1.6 — 2018-05-30
- 0.1.5 — 2018-05-30
- 0.1.4 — 2018-05-30
- … 4 more at https://npm.io/package/vue-image-preloader/versions

## README

## Installation / 설치
```
npm install --save vue-image-preloader
```

Installing the plugin will globally add the `vue-image-preloader` component to your project.  
플러그인을 전역적으로 설치하여 `vue-image-preloader` 컴포넌트를 사용할 수 있습니다.

```js
import imagePreloader from 'vue-image-preloader'
Vue.use(imagePreloader)
```

you can also import the standalone component.  
단일 컴포넌트에 설치하여 사용할 수도 있습니다.

```js
import { imagePreloader } from 'vue-image-preloader'
export default {
  components: {
    imagePreloader,
  },
}
```

Nuxt.js
```js
module.exports = {
  plugins: [
    { src: '~plugins/vue-image-preloader-installer.js', ssr: false }
  ]
}
```

## Basic Usage
```html
<!-- choose any one props type -->

<image-preloader
  :src="'https://static.npmjs.com/338e4905a2684ca96e08c7780fc68412.png'"
/>
<image-preloader
  :src=['https://nodejs.org/static/images/logo.svg', 'https://static.npmjs.com/338e4905a2684ca96e08c7780fc68412.png']
/>
<image-preloader
  :src="'https://static.npmjs.com/338e4905a2684ca96e08c7780fc68412.png'"
  :srcs="'https://static.npmjs.com/338e4905a2684ca96e08c7780fc68412.png'"
  :image="'https://static.npmjs.com/338e4905a2684ca96e08c7780fc68412.png'"
  :images="'https://static.npmjs.com/338e4905a2684ca96e08c7780fc68412.png'"
  :img="'https://static.npmjs.com/338e4905a2684ca96e08c7780fc68412.png'"
  :imgs="'https://static.npmjs.com/338e4905a2684ca96e08c7780fc68412.png'"
/>
```
specific onload & all src onload event  
특정 로드와 전체 로드에 대한 onload 이벤트를 사용할 수 있습니다.
```html
<template>
...
<image-preloader
  :id="test"
  :srcs=['https://nodejs.org/static/images/logo.svg', 'https://static.npmjs.com/338e4905a2684ca96e08c7780fc68412.png']
  @loaded="loadedOne"
  @loaded-all="loadedAll"
/>
...
</template>

<script>
import { imagePreloader } from 'vue-image-preloader'
export default {
  components: {
    imagePreloader
  }
...
  methods: {
    loadedOne(e) {
      console.log(e)  // ImagePreloader id, loaded src, src index, loaded count, src list length, progress
      console.log(e.progress)
    },
    loadedAll(e) {
      console.log(e)  // ImagePreloader id or boolean
    }
  }
...
</script>
```
with global component  
전역 컴포넌트로 사용할 경우입니다.
```html
<template>
...
<no-ssr>
<image-preloader
  :id="test"
  :srcs=['https://nodejs.org/static/images/logo.svg', 'https://static.npmjs.com/338e4905a2684ca96e08c7780fc68412.png']
  @loaded="loadedOne"
  @loaded-all="loadedAll"
/>
</no-ssr>
...
</template>

<script>
...
  methods: {
    loadedOne(e) {
      console.log(e)  // ImagePreloader id, loaded src, src index, loaded count, src list length, progress
      console.log(e.progress)
    },
    loadedAll(e) {
      console.log(e)  // ImagePreloader id or boolean
    }
  }
...
</script>
```

## Global Method
`$imagePreload` global method  
플러그인을 전역적으로 설치했다면, `$imagePreload` 메소드를 사용할 수도 있습니다.
```html
<script>
...
  async mounted() {
    this.$imagePreload('https://nodejs.org/static/images/logo.svg')
      .then(r => console.log(r))  // return loaded img element
    await this.$imagePreload([
      'https://nodejs.org/static/images/logo.svg',
      'https://static.npmjs.com/338e4905a2684ca96e08c7780fc68412.png'
    ], (e => console.log(e))) // element, loaded src, src index, loaded count, src list length, progress
    const el = document.getElementById('test')
    await this.$imagePreload('https://nodejs.org/static/images/logo.svg', el)
    await this.$imagePreload.reset()
    await this.$imagePreload.reset(el)
  }
...
</script>
```

---
_Source: https://npm.io/package/vue-image-preloader · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
