最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue中的自定義分頁插件組件的示例

 更新時(shí)間:2018年08月18日 10:57:36   作者:小健  
這篇文章主要介紹了vue中的自定義分頁插件組件的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

介紹一下,已經(jīng)有很多的vue分頁的組件了,大家都是大同小易,那么我就結(jié)合自身的使用,寫出了一片文章

首先在新建一個分頁模塊

在模塊中引入相應(yīng)的代碼,(內(nèi)有詳細(xì)的注釋)

template中

 <div class="page-bar">
 <ul>
  <li class="first">
   <span>共{{dataNum}}條記錄 第 {{cur}} / {{all}} 頁</span>
  </li>
  <li v-if="cur>1">
   <a v-on:click="cur--,pageClick()"><</a>//點(diǎn)擊上一頁
  </li>
  <li v-if="cur==1">
   <a class="banclick"><</a>//點(diǎn)擊第一頁時(shí)顯示
  </li>
  <li class="li_a" v-for="index in indexs" v-bind:class="{ 'active': cur == index}">
   <a v-on:click="btnClick(index)">{{ index }}</a>//頁碼
  </li>
  <li v-if="cur!=all">
   <a v-on:click="cur++,pageClick()">></a>//點(diǎn)擊下一頁
  </li>
  <li v-if="cur == all">
   <a class="banclick">></a> //點(diǎn)擊最后一頁時(shí)顯示
  </li>
  <li class="last_li">
   <span>共<i>{{all}}</i>頁</span> // 共有多少頁
  </li>
 </ul>
</div>

style中的內(nèi)容

.page-bar a {
 width: 34px;
 height: 34px;
 border: 1px solid #ddd;
 text-decoration: none;
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%,-50%);
 /*margin-left: -1px;*/
 line-height: 34px;
 color: #333;
 cursor: pointer
}

.page-bar .li_a a:hover {
 background-color: #eee;
 border: 1px solid #40A9FF;
 color: #40A9FF;
}

.page-bar a.banclick {
 cursor: not-allowed;
}

.page-bar .active a {
 color: #fff;
 cursor: default;
 background-color: #1890FF;
 border-color: #1890FF;
}

.page-bar i {
 font-style: normal;
 color: #d44950;
 margin: 0px 4px;
 font-size: 14px;
}

script

export default {
 //顯示的聲明組件
 name: "paging",
 //從父級組件中傳值過來的,你可以自己設(shè)置名字,但是需要跟父級傳入的名字一致!
 props : ["dataAll","dataCur","datanum","dataDatanum"],
 

 data() {
  return {
   all: this.dataAll, //總頁數(shù)
   cur: this.dataCur ,//當(dāng)前頁碼
   num: this.datanum , //一頁顯示的數(shù)量 奇數(shù)
   dataNum: this.dataDatanum,//數(shù)據(jù)的數(shù)量
   
  }

 },
 watch: {
  cur: function(oldValue, newValue) {
  //父組件通過change方法來接受當(dāng)前的頁碼
   this.$emit('change', oldValue)
   //這里是直接點(diǎn)擊執(zhí)行函數(shù)
  }
 },
 methods: {
  btnClick: function(data) { //頁碼點(diǎn)擊事件
   if(data != this.cur) {
    this.cur = data
   }
  },
  pageClick: function() {
   console.log('現(xiàn)在在' + this.cur + '頁');
   //父組件通過change方法來接受當(dāng)前的頁碼
    //這里是點(diǎn)擊下一頁執(zhí)行函數(shù)
   this.$emit('change', this.cur)
  }
 },

 computed: {
  indexs: function() {
   var left = 1;
   var right = this.all;
   var ar = [];
   if(this.all >= this.num ) {
    if(this.cur > 3 && this.cur < this.all - 2) {
     left = this.cur - (this.num-1)/2
     right = this.cur + (this.num-1)/2
    } else {
     if(this.cur <= 3) {
      left = 1
      right = this.num
     } else {
      right = this.all
      left = this.all - (this.num - 1);
     }
    }
   }
   while(left <= right) {
    ar.push(left)
    left++
   }
   return ar
  }

 }

}

父級的組件內(nèi)容

<template>
//這是我自己設(shè)置的,可以根據(jù)情況不用設(shè)置不同的樣式
  <div class="page">
  //這里時(shí)通過props傳值到子級,并有一個回調(diào)change的函數(shù),來獲取自己傳值到父級的值
  <paging :dataAll="all" :dataCur="cur" :datanum="num" :dataDatanum="dataNum" @change="pageChange"></paging>
 </div>
</template>
<style scoped>
 .page {
 width: 100%;
 min-width: 1068px;
 height: 36px;
 margin: 40px auto;
 }
</style>
<script>
import Paging from './paging'
export default {
 name: "homepage",
 components: {
  Paging
 },
 data() {
  return {
   all: 40, //總頁數(shù)
   cur: 1, //當(dāng)前頁碼
   num: 7, //一頁顯示的數(shù)量 必須是奇數(shù)
   dataNum: 400, //數(shù)據(jù)的數(shù)量
  }
 },
 methods: {
  //子級傳值到父級上來的動態(tài)拿去
  pageChange: function(page) {
   this.cur = page
  }
 }
}
</script>

最后重新保存,重新運(yùn)行

 npm run dev 

注意

可以根據(jù)自己喜好來自己動手做一個分頁,我在其它人的基礎(chǔ)之上添加了頁碼以及當(dāng)前頁面數(shù),也可以添加跳轉(zhuǎn)的頁數(shù)(暫時(shí)沒有做),也可以更改css樣式來改變!

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解三種方式解決vue中v-html元素中標(biāo)簽樣式

    詳解三種方式解決vue中v-html元素中標(biāo)簽樣式

    這篇文章主要介紹了三種方式解決vue中v-html元素中標(biāo)簽樣式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • vue項(xiàng)目index.html中使用環(huán)境變量的代碼示例

    vue項(xiàng)目index.html中使用環(huán)境變量的代碼示例

    在Vue3中使用環(huán)境變量的方式與Vue2基本相同,下面這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目index.html中使用環(huán)境變量的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • vue?導(dǎo)入js中的兩種方法(示例詳解)

    vue?導(dǎo)入js中的兩種方法(示例詳解)

    這篇文章主要介紹了vue?導(dǎo)入js中的方法,本文通過兩種方法結(jié)合示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • Vue刷新后頁面數(shù)據(jù)丟失問題的解決過程

    Vue刷新后頁面數(shù)據(jù)丟失問題的解決過程

    在做vue項(xiàng)目的過程中有時(shí)候會遇到一個問題,就是進(jìn)行F5頁面刷新的時(shí)候,頁面的數(shù)據(jù)會丟失,這篇文章主要給大家介紹了關(guān)于Vue刷新后頁面數(shù)據(jù)丟失問題的解決過程,需要的朋友可以參考下
    2022-11-11
  • vue proxyTable 接口跨域請求調(diào)試的示例

    vue proxyTable 接口跨域請求調(diào)試的示例

    本篇文章主要介紹了vue proxyTable 接口跨域請求調(diào)試的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Vue通過axios調(diào)用json地址數(shù)據(jù)的方法

    Vue通過axios調(diào)用json地址數(shù)據(jù)的方法

    在現(xiàn)代Web開發(fā)中,前后端分離已成為標(biāo)準(zhǔn)做法,Vue.js作為前端框架中的佼佼者,提供了豐富的API來處理數(shù)據(jù)和服務(wù)端的交互,其中一個常用的庫是axios,本文將詳細(xì)介紹如何在Vue項(xiàng)目中使用axios來調(diào)用JSON數(shù)據(jù),需要的朋友可以參考下
    2024-09-09
  • Vue+Vant實(shí)現(xiàn)下拉加載功能

    Vue+Vant實(shí)現(xiàn)下拉加載功能

    為了像微信一樣方便地加載更多歷史消息,這篇文章將為大家介紹我們?nèi)绾问褂胿ant組件來實(shí)現(xiàn)下拉加載功能,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-06-06
  • vite5+vue3+?import.meta.glob動態(tài)導(dǎo)入vue組件圖文教程

    vite5+vue3+?import.meta.glob動態(tài)導(dǎo)入vue組件圖文教程

    import.meta.glob是Vite提供的一個特殊功能,它允許你在模塊范圍內(nèi)動態(tài)地導(dǎo)入多個模塊,這篇文章主要給大家介紹了關(guān)于vite5+vue3+?import.meta.glob動態(tài)導(dǎo)入vue組件的相關(guān)資料,需要的朋友可以參考下
    2024-07-07
  • vuex(vue狀態(tài)管理)的特殊應(yīng)用案例分享

    vuex(vue狀態(tài)管理)的特殊應(yīng)用案例分享

    Vuex 是一個專為 Vue.js 應(yīng)用程序開發(fā)的狀態(tài)管理模式。它采用集中式存儲管理應(yīng)用的所有組件的狀態(tài),并以相應(yīng)的規(guī)則保證狀態(tài)以一種可預(yù)測的方式發(fā)生變化。
    2020-03-03
  • 聊聊Vue中provide/inject的應(yīng)用詳解

    聊聊Vue中provide/inject的應(yīng)用詳解

    這篇文章主要介紹了聊聊Vue中provide/inject的應(yīng)用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11

最新評論

两当县| 汉中市| 靖安县| 台安县| 奉节县| 那曲县| 德江县| 刚察县| 碌曲县| 剑河县| 冷水江市| 镇平县| 全州县| 甘德县| 腾冲县| 凭祥市| 娄底市| 满洲里市| 深水埗区| 旅游| 宜都市| 蒙城县| 会理县| 迁安市| 姚安县| 海盐县| 昌宁县| 成安县| 乌拉特前旗| 西吉县| 赣州市| 渝中区| 涟水县| 宁陕县| 大连市| 吉林省| 惠安县| 顺昌县| 双城市| 绥中县| 锦州市|