国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

利用VUE框架,實(shí)現(xiàn)列表分頁功能示例代碼

2019-11-19 17:58:56
字體:
供稿:網(wǎng)友

先來看一下效果圖:

這里寫圖片描述 

這里寫圖片描述 

這里寫圖片描述

功能描述:

1. 點(diǎn)擊頁面序號跳轉(zhuǎn)到相應(yīng)頁面;

2. 點(diǎn)擊單左/單右,向后/向前跳轉(zhuǎn)一個(gè)頁面;

3. 點(diǎn)擊雙左/雙右,直接跳轉(zhuǎn)到最后一頁/第一頁;

4. 一次顯示當(dāng)前頁面的前三個(gè)與后三個(gè)頁面;

5. 始終顯示最后一個(gè)頁面;

HTML:

 <!-- 分頁開始 --><div class="u-pages" style="margin-bottom:20px; margin-top:10px;"> <ul>   <li v-if="showPre" class="crt"><a v-on:click="jumpFirst(cur)"> << </a></li>   <li v-if="showPre" class="crt"><a v-on:click="minus(cur)"> < </a></li>   <template v-for="index in indexs" >     <li class="{{classRenderer(index)}}">       <a v-on:click="btnClick(index)" >{{index}}</a>     </li>   </template>   <li v-if="showMoreTail" class="crt">..</li>   <li class="{{classRenderer(pageNo)}}"><a @click="btnClick(pageNo)">{{pageNo}}</a></li>   <li v-if="showTail" class="crt"><a v-on:click="plus(cur)">></a></li>   <li v-if="showTail" class="crt"><a v-on:click="jumpTail(cur)">>></a></li> </ul></div><!-- 分頁結(jié)束 -->

HTML方法分析: 

1、

<li class="{{classRenderer(index)}}">

classRenderer()方法實(shí)現(xiàn)了當(dāng)點(diǎn)擊頁面索引是,點(diǎn)擊頁面獲得選中效果

2、

<a v-on:click="btnClick(index)" >{{index}}</a> 

btnClick()方法,實(shí)現(xiàn)了點(diǎn)擊頁面索引,跳轉(zhuǎn)到相應(yīng)頁面

showPre showTail

showPre控制跳轉(zhuǎn)到第一頁與跳轉(zhuǎn)到前一頁的按鈕的顯示與消除

showTail控制跳轉(zhuǎn)到最后一頁與跳轉(zhuǎn)到后一頁的按鈕的顯示與消除

cur

記錄當(dāng)前頁序號

jumpFirst(cur) minus(cur) plus(cur) jumpTail(cur)

實(shí)現(xiàn)按鈕跳轉(zhuǎn)功能

JS:

 module.exports = {    data: function () {      return {        cur:1,        showTail:true,        showMorePre: false,        showMoreTail: false,             }    },    methods:{    jumpFirst:function(data){        var $this = this;        data = 1;        $this.cur = data;        if (data == 1 )        {          $this.$set("showPre", false);        }else        {          $this.$set("showPre", true);        }        $this.$am.ajax({          url:window.$ApiConf.api_order_detail_list,          type:'GET',          data:{start: 1},          success: function(data){            console.log(data);            $this.$set("records", data.record.records);            $this.$set("start", data.record.query.start);            $this.$set("total", data.record.query.total);            $this.$set("limit", data.record.query.limit);          }        })        $this.$set("showTail", true);        return data;      },      minus:function(data){        var $this = this;        data--;        $this.cur = data;        $this.$set("showTail", true);        if(data == 1){          $this.$set("showPre", false);        }else{          $this.$set("showPre", true);        }        $this.$am.ajax({          url:window.$ApiConf.api_order_detail_list,          type:'GET',          data:{start: 1 + $this.limit * (data-1) },          success:function(data){            console.log(data);            $this.$set("records", data.record.records);            $this.$set("start", data.record.query.start);            $this.$set("total", data.record.query.total);            $this.$set("limit", data.record.query.limit);          }        })        return data;      },      plus: function(data){        var $this = this;        data++;        $this.cur = data;        $this.$set("showPre", true);        if (data == $this.pageNo)        {          $this.$set("showTail", false);        }else        {          $this.$set("showTail", true);        }        $this.$am.ajax({          url:/* 這里寫上你自己請求數(shù)據(jù)的路徑 */,          type:'GET',          data:{start: 1 + $this.limit * (data-1) },          success:function(data){            console.log(data);            $this.$set("records", data.record.records);            $this.$set("start", data.record.query.start);            $this.$set("total", data.record.query.total);            $this.$set("limit", data.record.query.limit);          }        })        return data;      },      classRenderer:function(index){        var $this = this;        var cur = $this.cur;        if(index != cur){          return 'crt';        }        return '';      },      btnClick:function(data){        var $this = this;        if(data == 1){          $this.$set("showPre", false);        }else{          $this.$set("showPre", true);        }        if (data == $this.pageNo)        {          $this.$set("showTail", false);        }else        {          $this.$set("showTail", true);        }        if (data != $this.cur)        {          $this.cur = data;          $this.$am.ajax({            url:window.$ApiConf.api_order_detail_list,            type:'GET',            data:{start: 1 + $this.limit * (data-1) },            success:function(data){              console.log(data);              $this.$set("records", data.record.records);              $this.$set("start", data.record.query.start);              $this.$set("total", data.record.query.total);              $this.$set("limit", data.record.query.limit);            }          })        }      },      jumpTail:function(data){        var $this = this;        data = $this.pageNo;        $this.cur = data;        if (data == $this.pageNo)        {          $this.$set("showTail", false);        }else        {          $this.$set("showTail", true);        }        $this.$am.ajax({          url:window.$ApiConf.api_order_detail_list,          type:'GET',          data:{start: 1 + $this.limit * (data-1) },          success:function(data){            console.log(data);            $this.$set("records", data.record.records);            $this.$set("start", data.record.query.start);            $this.$set("total", data.record.query.total);            $this.$set("limit", data.record.query.limit);          }        })        $this.$set("showPre", true);        return data;      },     computed: {      //*********************分頁開始******************************//      indexs: function(){        var $this = this;        var ar = [];        if ($this.cur > 3)        {          ar.push($this.cur - 3);          ar.push($this.cur - 2);          ar.push($this.cur - 1);        }else        {          for (var i = 1; i < $this.cur; i++)          {            ar.push(i);          }        }        if ($this.cur != $this.pageNo)        {          ar.push($this.cur);        }        if ( $this.cur < ( $this.pageNo - 3 ) )        {          ar.push($this.cur + 1);          ar.push($this.cur + 2);          ar.push($this.cur + 3);          if ( $this.cur < ( $this.pageNo - 4 ) )          {            $this.$set("showMoreTail", true);          }        }else        {          $this.$set("showMoreTail", false);          for (var i = ($this.cur + 1); i < $this.pageNo; i++)          {            ar.push(i);          }        }        return ar;      }      //*********************分頁結(jié)束******************************//    }}   

JS功能分析:indexs用于記錄一共有多少頁面

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 高尔夫| 保定市| 荔波县| 南康市| 银川市| 密云县| 綦江县| 家居| 新建县| 金寨县| 绩溪县| 澄迈县| 天祝| 临西县| 安乡县| 师宗县| 武安市| 慈溪市| 长汀县| 崇信县| 榆中县| 农安县| 龙里县| 株洲市| 汨罗市| 绥化市| 嘉黎县| 阜南县| 西乡县| 武鸣县| 五莲县| 青浦区| 读书| 江安县| 冷水江市| 垫江县| 安丘市| 连江县| 石屏县| 梨树县| 含山县|