国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

vue實(shí)現(xiàn)前端分頁完整代碼

瀏覽:2日期:2023-01-12 16:17:50

本文實(shí)例為大家分享了vue實(shí)現(xiàn)前端分頁的具體代碼,供大家參考,具體內(nèi)容如下

首先,做出來的效果如圖所示,具體的Ajax請(qǐng)求數(shù)據(jù)可以寫在點(diǎn)擊函數(shù)中分頁效果算是比較費(fèi)腦子的,里面計(jì)算有些麻煩,本文上完整代碼,一起學(xué)習(xí)進(jìn)步

vue實(shí)現(xiàn)前端分頁完整代碼

“上一頁”寫兩個(gè)li元素,如果已經(jīng)是第一頁,那么就禁止鼠標(biāo)點(diǎn)擊,如果不是就curr減減,并且可以點(diǎn)擊 同理“下一頁”也一樣 中間部分是通過indexs循環(huán),indexs通過computed計(jì)算得出

<div class='page-bar'> <ul> <li v-if='cur>1'><a v-on:click='cur--,pageClick()'>上一頁</a></li> <li v-if='cur==1'><a class='banclick'>上一頁</a></li> <!--當(dāng)前頁背景色為藍(lán)色--> <li 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></li> <li v-if='cur == all'><a class='banclick'>下一頁</a></li> <li><a>共<i>{{all}}</i>頁</a></li> </ul></div>

難點(diǎn)就是IF嵌套語句

1、每次顯示5個(gè)數(shù)據(jù),如果大于3,范圍從3到6,如果到達(dá)7,那么下邊加2變成9,已經(jīng)超過最大的范圍值,所以最大范圍到62、如果是大于6,那么最大值就是最大值,最小變成all-43、如果3以內(nèi),默認(rèn)不跳動(dòng)

var pageBar = new Vue({ el: ’.page-bar’, data: { all: 8, //總頁數(shù) cur: 1//當(dāng)前頁碼 }, watch: { cur: function(oldValue , newValue){ console.log(arguments); } }, methods: { btnClick: function(data){ if(data != this.cur){this.cur = data; } }, pageClick: function(){ console.log(’現(xiàn)在在’+this.cur+’頁’); } }, computed: { indexs: function(){ var left = 1; var right = this.all; var ar = []; if(this.all>= 5){ //這里最大范圍從3到6,如果到達(dá)7,那么下邊加2變成9,已經(jīng)超過最大的范圍值 if(this.cur > 3 && this.cur < this.all-1){ //以4為參考基準(zhǔn),左面加2右邊加2 left = this.cur - 2 right = this.cur + 2 }else{if(this.cur<=3){ left = 1 right = 5}else{ right = this.all left = this.all -4} } } while (left <= right){ ar.push(left) left ++ } console.log(ar); return ar } }})

全部代碼:

<!DOCTYPE html><html><head><meta name='viewport' content='width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no'/><meta charset='utf-8'><title></title><meta name='keywords' content='' /><meta name='description' content='' /><script type='text/javascript' src='http://www.cgvv.com.cn/bcjs/js/vue.min.js'></script><style>.page-bar{ margin:40px;}ul,li{ margin: 0px; padding: 0px;}li{ list-style: none}.page-bar li:first-child>a { margin-left: 0px}.page-bar a{ border: 1px solid #ddd; text-decoration: none; position: relative; float: left; padding: 6px 12px; margin-left: -1px; line-height: 1.42857143; color: #337ab7; cursor: pointer}.page-bar a:hover{ background-color: #eee;}.page-bar a.banclick{ cursor:not-allowed;}.page-bar .active a{ color: #fff; cursor: default; background-color: #337ab7; border-color: #337ab7;}.page-bar i{ font-style:normal; color: #d44950; margin: 0px 4px; font-size: 12px;}</style></head><body> <div class='page-bar'> <ul> <li v-if='cur>1'><a v-on:click='cur--,pageClick()'>上一頁</a></li> <li v-if='cur==1'><a class='banclick'>上一頁</a></li> <!--當(dāng)前頁背景色為藍(lán)色--> <li 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></li> <li v-if='cur == all'><a class='banclick'>下一頁</a></li> <li><a>共<i>{{all}}</i>頁</a></li> </ul></div><script type='text/javascript'>var pageBar = new Vue({ el: ’.page-bar’, data: { all: 8, //總頁數(shù) cur: 1//當(dāng)前頁碼 }, watch: { cur: function(oldValue , newValue){ console.log(arguments); } }, methods: { btnClick: function(data){ if(data != this.cur){this.cur = data; } }, pageClick: function(){ console.log(’現(xiàn)在在’+this.cur+’頁’); } }, computed: { indexs: function(){ var left = 1; var right = this.all; var ar = []; if(this.all>= 5){ //這里最大范圍從3到6,如果到達(dá)7,那么下邊加2變成9,已經(jīng)超過最大的范圍值 if(this.cur > 3 && this.cur < this.all-1){ //以4為參考基準(zhǔn),左面加2右邊加2 left = this.cur - 2 right = this.cur + 2 }else{if(this.cur<=3){ left = 1 right = 5}else{ right = this.all left = this.all -4} } } while (left <= right){ ar.push(left) left ++ } console.log(ar); return ar } }})</script></body></html>

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

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 久草视频福利资源站 | 性盈盈影院影院 | 欧美精品午夜 | 亚洲欧美一区二区视频 | 国产高清在线观看视频手机版 | 亚洲美女综合网 | 亚洲第十色| 精品视频自拍 | 波多野结衣一区二区三区88 | 性视频网站在线 | 亚洲经典在线 | 亚洲不卡一区二区三区在线 | 日韩一级a毛片欧美一级 | 欧美做爰性欧美 | 免费大片黄手机在线观看 | 国产免费高清 | 男人躁女人躁的好爽免费视频 | 精品久久一区二区三区 | 收集最新中文国产中文字幕 | 欧美一级网 | 欧美zoofilia杂交videos | 91伦理视频| 免费成人在线网站 | 日韩a无吗一区二区三区 | 亚洲欧美日韩在线不卡中文 | 久久99精品久久久久久青青91 | 国产一区曰韩二区欧美三区 | 一区二区免费看 | 精品国产高清不卡毛片 | 亚洲国产成人久久综合一 | 久久久久久久免费视频 | 国产精品色午夜视频免费看 | 美女视频一区二区三区在线 | 成人网免费看 | 中文字幕视频网 | 成人高清视频在线观看 | 久久一区二区三区不卡 | 久草网视频在线观看 | 欧美日韩精彩视频 | 成人网18免费软件 | 亚洲国产精品久久 |