# vuejs-paginate **Repository Path**: clattanoia/vuejs-paginate ## Basic Information - **Project Name**: vuejs-paginate - **Description**: 分页VueJS组件 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2017-04-09 - **Last Updated**: 2021-11-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # vuejs-paginate [![npm version](https://badge.fury.io/js/vuejs-paginate.svg)](https://badge.fury.io/js/vuejs-paginate) [![Build Status](https://travis-ci.org/lokyoung/vuejs-paginate.svg?branch=master)](https://travis-ci.org/lokyoung/vuejs-paginate) [![Code Climate](https://codeclimate.com/github/lokyoung/vuejs-paginate/badges/gpa.svg)](https://codeclimate.com/github/lokyoung/vuejs-paginate) [![NPM](https://nodei.co/npm/vuejs-paginate.png)](https://nodei.co/npm/vuejs-paginate/) A Vue.js(v2.x+) component to make pagination. Inspired by [react-paginate](https://github.com/AdeleD/react-paginate). Easy to use by providing simple api. And you can customize the style of this component by css. [Online demo](https://jsfiddle.net/lokyoung/u3u3nzns/) ## Installation ### NPM Install the npm package. ```js $ npm install vuejs-paginate --save ``` Register the component. - ES5 ```js var Paginate = require('vuejs-paginate') Vue.component('paginate', Paginate) ``` - ES6 ```js import Paginate from 'vuejs-paginate' Vue.component('paginate', Paginate) ``` *Note*: For version <= 0.5.0, use `Vue.use(Paginate)` to register the component after import the package. But recommend to use the latest version now. ### CDN Include the source file. ```html ``` Register the component. ```js Vue.component('paginate', VuejsPaginate) ``` ## Usage ### In Vue Template **Basic Usage** ```html ``` *Note*: In vue template, camelCase and kebab-case are both supported. For example, you can either use prop `page-count` or `pageCount`. They are leading to the same result. So this is also avaliable ```html ``` **Example** ```html ``` ### In HTML Must use kebab-case for props in pure HTML. **Example** JavaScript ```js Vue.component('paginate', VuejsPaginate) new Vue({ el: '#app', methods: { clickCallback: function(pageNum) { console.log(pageNum) } } }) ``` HTML ```html
``` ## Props | Name | Type | Description | | --- | --- | --- | | `page-count` | `Number` | Total count of pages. **required** | | `page-range` | `Number` | Range of pages which displayed. **default: 3** | | `margin-pages` | `Number` | The number of displayed pages for margins. **default: 1** | | `prev-text` | `String` | Text for the previous button. **default: Prev** | | `next-text` | `String` | Text for the next button. **default: Next** | | `initial-page` | `Number` | The index of initial page which selected. **default: 0** | | `force-page` | `Number` | The index of overridden selected page. | | `click-handler` | `Function` | The method to call when page clicked. Use clicked page number as parameter. | | `container-class` | `String` | CSS class name for the layout. | | `page-class` | `String` | CSS class name for tag `li` of each page element. | | `page-link-class` | `String` | CSS class name for tag `a` of each page element. | | `prev-class` | `String` | CSS class name for tag `li` of `previous` element. | | `prev-link-class` | `String` | CSS class name for tag `a` of `previous` element. | | `next-class` | `String` | CSS class name for tag `li` of `next` element. | | `next-link-class` | `String` | CSS class name for tag `a` of `next` element. | **Note**: If for some reason you need to [programmatically modify the current page](https://github.com/lokyoung/vuejs-paginate/issues/16), declare a `ref` for your `` component then, once `mounted`, you will be able to change the selected page using `this.$refs.paginate.selected = 42` . To bind such a modification to data change, use a [Vue `watch`](https://vuejs.org/v2/guide/computed.html#Watchers). ## Demo You can see the demo for quickly understand how to use this package. ```sh $ git clone git@github.com:lokyoung/vuejs-paginate.git $ cd vuejs-paginate $ npm install $ npm run demo ``` Check the code from `./demo/index.html` and `./demo/App.vue`.