Advertisement
Guest User

Untitled

a guest
Jun 16th, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. export default[
  2. {
  3. path:'/people?page=:page',
  4. component: ListPeople,
  5. name: 'people.paginate',
  6. meta:{
  7. title: 'Paginate'
  8. }
  9. },
  10. {
  11. path: '/people',
  12. component: ListPeople,
  13. name: 'people.list',
  14. meta: {
  15. title: 'People List',
  16. }
  17. },
  18.  
  19. <template>
  20. <div class="container">
  21. <h1>People List</h1>
  22. <vue-table v-bind="{data:people.data,columns}"></vue-table>
  23.  
  24. <vue-pagination :pagination="people"
  25. @paginate="getPeople"
  26. :offset="4">
  27. </vue-pagination>
  28. </div>
  29.  
  30. <template>
  31. <!-- more codes here -->
  32. <router-link class="page-link" :to="{ name:'people.paginate', params:{ page: page }}">{{ page }}</router-link>
  33. <!-- more codes here -->
  34. </template>
  35. <script>
  36. export default{
  37. props: {
  38. pagination: {
  39. type: Object,
  40. required: true
  41. },
  42. offset: {
  43. type: Number,
  44. default: 4
  45. }
  46. },
  47. computed: {
  48. pagesNumber() {
  49. if (!this.pagination.to) {
  50. return [];
  51. }
  52. let from = this.pagination.current_page - this.offset;
  53. if (from < 1) {
  54. from = 1;
  55. }
  56. let to = from + (this.offset * 2);
  57. if (to >= this.pagination.last_page) {
  58. to = this.pagination.last_page;
  59. }
  60. let pagesArray = [];
  61. for (let page = from; page <= to; page++) {
  62. pagesArray.push(page);
  63. }
  64. return pagesArray;
  65. }
  66. },
  67. methods : {
  68. changePage(page) {
  69. this.pagination.current_page = page;
  70. this.$emit('paginate',page);
  71. }
  72. }
  73. }
  74. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement