## vue-dynamic-list

> Simple fixed size dynamically loading lists in Vue.js

This library allows you to create Google Contacts style dynamic lists, it is built upon Vue.js hence is easy to integrate into existing websites with or without Vue.

### Demo
---
![demo](https://owo.insrt.uk/b9d1435e.mp4)

### Usage
---

In your Vue.js application:
```html
<dynamic-list ref="myList">
	<template slot="entry" slot-scope="props">
		<div>{{props.entry}}</div>
	</template>
	<template slot="unloaded" slot-scope="props">
		<span>loading!</span>
	</template>
</dynamic-list>
```

Using the library:
```js
const app = new Vue({
	el: '#app'
});

new vDynamicList(app, {
	// reference to the <dynamic-list>
	ref: 'myList',
	// returns a promise which resolves with a section
	onLoad: (i, l) => {
		return new Promise((resolve, reject) => {
			let y = [];
			for (let j = 0; j < l; j++) y.push('hello!')
			setTimeout(() => resolve(y), 400);
		});
	},
	// you should load this first, and then create vDynamicList
	elements: 1400,
	// choose a suitable limit for each section
	limit: 100
});
```