🌜
🌞
vue-infinite-scroll

vue-infinite-scroll

v2.0.2

An infinite scroll directive for vue.js.

npm install vue-infinite-scroll

README

vue-infinite-scroll

vue-infinite-scroll is an infinite scroll directive for vue.js.

Install

npm install vue-infinite-scroll --save

CommonJS

You can use any build tool which supports commonjs:

// register globally
var infiniteScroll =  require('vue-infinite-scroll');
Vue.use(infiniteScroll)

// or for a single instance
var infiniteScroll = require('vue-infinite-scroll');
new Vue({
  directives: {infiniteScroll}
})

Or in ES2015:

// register globally
import infiniteScroll from 'vue-infinite-scroll'
Vue.use(infiniteScroll)

// or for a single instance
import infiniteScroll from 'vue-infinite-scroll'
new Vue({
  directives: {infiniteScroll}
})

Direct include

You can use the CDN: https://unpkg.com/vue-infinite-scroll, infiniteScroll is exposed to window and will automatically install itself. Also you can use your local copy:

<script src="../node_modules/vue-infinite-scroll/vue-infinite-scroll.js"></script>

Usage

Use v-infinite-scroll to enable the infinite scroll, and use infinite-scroll-* attributes to define its options.

The method appointed as the value of v-infinite-scroll will be executed when the bottom of the element reaches the bottom of the viewport.

<div v-infinite-scroll="loadMore" infinite-scroll-disabled="busy" infinite-scroll-distance="10">
  ...
</div>
var count = 0;

new Vue({
  el: '#app',
  data: {
    data: [],
    busy: false
  },
  methods: {
    loadMore: function() {
      this.busy = true;

      setTimeout(() => {
        for (var i = 0, j = 10; i < j; i++) {
          this.data.push({ name: count++ });
        }
        this.busy = false;
      }, 1000);
    }
  }
});

Options

Option Description
infinite-scroll-disabled infinite scroll will be disabled if the value of this attribute is true.
infinite-scroll-distance Number(default = 0) - the minimum distance between the bottom of the element and the bottom of the viewport before the v-infinite-scroll method is executed.
infinite-scroll-immediate-check Boolean(default = true) - indicates that the directive should check immediately after bind. Useful if it's possible that the content is not tall enough to fill up the scrollable container.
infinite-scroll-listen-for-event infinite scroll will check again when the event is emitted in Vue instance.
infinite-scroll-throttle-delay Number(default = 200) - interval(ms) between next time checking and this time

Development

Command Description
npm run build Build in umd format
npm test Lint code

License

MIT

General

License
MIT
Typescript Types
None found
Tree-shakeable
Yes

Popularity

GitHub Stargazers
2,764
Community Interest
3,129
Number of Forks
424

Maintenance

Commits
10/219/2201
Last Commit
Sep 30, 2017
Open Issues
79
Closed Issues
46
Open Pull Requests
19
Closed Pull Requests
5

Versions

Versions Released
10/219/2201
Latest Version Released
Sep 30, 2017
Current Tags
latest2.0.2

Contributors

furybean
furybean
Commits: 15
Leopoldthecoder
Leopoldthecoder
Commits: 5
QingWei-Li
QingWei-Li
Commits: 3
egoist
egoist
Commits: 2
richardo2016
richardo2016
Commits: 2
FTAndy
FTAndy
Commits: 1
npmcdn-to-unpkg-bot
npmcdn-to-unpkg-bot
Commits: 1
obingo
obingo
Commits: 1
baiyaaaaa
baiyaaaaa
Commits: 1
AVGP
AVGP
Commits: 1