vue實現(xiàn)分頁加載效果
本文實例為大家分享了vue分頁加載的具體代碼,供大家參考,具體內容如下
HTML
<!-- 商品 頁數(shù)--> <div class="pagenavi"> <div class="all-number"> <span>共{{data.length}}個商品</span> </div> <p class="pageArea" data-countpage="1"> <span class="colf22e01 fontT">{{pages}}</span> / <span class="page_count fontT">{{total}}</span> </p> </div> <div class="clear-b"></div> </div> <!--限制加載數(shù)量--> <ul class="cata_choose_product clearfix"> <!--渲染數(shù)據 從那個下標開始加載--> <li v-for="(value,index) in data" v-if="index < 5"> <div class="nosinglemore"></div> <div class="listbox clearfix"> <div class="listPic"> <router-link target="_blank" to="/goods_detail"> <img :src="value.image" class="fn_img_lazy"> </router-link> </div> <div class="listDescript"> <router-link target="_blank" to="/goods_detail" class="text13">{{value.name}}</router-link> </div> <div class="cat-shopprice lf"> <p><span>¥{{value.price}}</span></p> </div> <div class="cat-addcart lf"> <div class="cart_wrapper"> <router-link target="_blank" to="/goods_detail">查看詳情</router-link> </div> </div> <div class="clear-b"></div> </div> </li> <div class="clear-b"></div> </ul> <!--分頁器--> <div class="box"> <div class="box_one"> <div @click="shan">上一頁</div> <!--動態(tài)生成頁數(shù)標簽--> <div class="box_cen"> <div v-for="(value,index) in total" class="box_foot"> <span @click="yesu" :id="index">{{index+1}}</span> </div> </div> <div @click="xia">下一頁</div> </div> </div>
js
data(){ return{ data:"",//頁面數(shù)據 num:0, pages:1,//當前頁數(shù) priceQuery:false,//價格排序判斷 Total:"",//總頁數(shù)(向上取整) initial:4,//默認加載數(shù)量 total:"",//最終頁數(shù) } }, created(){ //獲取初始數(shù)據 axios.get("'../../static/mock/data.json").then(res=>{ this.Total = res.data.goods[0].foods.length; var arr = []; //限制獲取數(shù)據量 for(var i=0;i<this.initial;i++){ //加載數(shù)據 頁數(shù)+數(shù)量 arr.push(res.data.goods[0].foods[this.num+i]); } this.data = arr; this.total = Math.ceil(this.Total/this.data.length); }).catch(err=>{ console.log(err); }); }, methods:{ //下一頁 xia(){ //頁數(shù)++ if(this.pages == this.total){ this.pages = this.total; }else{ this.pages++; } //從 加載數(shù)據 下標+數(shù)量 this.num = (this.pages-1)*this.initial; this.sua(); }, //上一頁 shan(){ if(this.pages == 1){ this.pages = 1; }else{ this.pages--; } this.num = (this.pages-1)*this.initial; this.sua(); }, //刷新數(shù)據 sua(){ axios.get("'../../static/mock/data.json").then(res=>{ var arr = []; //限制獲取數(shù)據量 for(var i=0;i<this.initial;i++){ //判斷數(shù)據是否有undefined,有undefined會報錯無法加載 if(res.data.goods[0].foods[this.num+i] != undefined) arr.push(res.data.goods[0].foods[this.num+i]); } this.data = arr; }).catch(err=>{ console.log(err); }); }, //頁數(shù)選擇 yesu(e){ // console.log(e.target.id); this.num = (e.target.id)*4; this.pages = Number(e.target.id)+1; this.sua(); },
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持我們。
上一篇:JS實現(xiàn)星星海特效
欄 目:JavaScript
下一篇:Javascript實現(xiàn)鼠標點擊冒泡特效
本文標題:vue實現(xiàn)分頁加載效果
本文地址:http://mengdiqiu.com.cn/a1/JavaScript/9408.html
您可能感興趣的文章
- 04-02java后端代碼分頁 java后端實現(xiàn)分頁page
- 01-10Echarts實現(xiàn)單條折線可拖拽效果
- 01-10在Vue項目中使用Typescript的實現(xiàn)
- 01-10js實現(xiàn)上傳圖片并顯示圖片名稱
- 01-10Vue中使用Lodop插件實現(xiàn)打印功能的簡單方法
- 01-10echarts實現(xiàn)折線圖的拖拽效果
- 01-10d3.js實現(xiàn)圖形縮放平移
- 01-10小程序簡單兩欄瀑布流效果的實現(xiàn)
- 01-10H5實現(xiàn)手機拍照和選擇上傳功能
- 01-10Echarts實現(xiàn)多條折線可拖拽效果


閱讀排行
本欄相關
- 04-02javascript點線,點線的代碼
- 04-02javascript潛力,javascript強大嗎
- 04-02javascript替換字符串,js字符串的替換
- 04-02javascript移出,js 移入移出
- 04-02包含javascript舍的詞條
- 04-02javascript并行,深入理解并行編程 豆瓣
- 04-02javascript匿名,js匿名方法
- 04-02javascript警報,JavaScript警告
- 04-02javascript遮蓋,JavaScript遮蓋PC端頁面
- 04-02javascript前身,javascript的前身
隨機閱讀
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-11ajax實現(xiàn)頁面的局部加載
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 04-02jquery與jsp,用jquery
- 01-10C#中split用法實例總結
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-10delphi制作wav文件的方法
- 01-10SublimeText編譯C開發(fā)環(huán)境設置