91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用vue實現分頁加載效果

發布時間:2021-04-02 09:52:52 來源:億速云 閱讀:448 作者:小新 欄目:web開發

這篇文章主要介紹怎么使用vue實現分頁加載效果,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

vue分頁加載的具體代碼如下

怎么使用vue實現分頁加載效果

HTML

<!-- 商品 頁數-->
 <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>
 
 <!--限制加載數量-->
 <ul class="cata_choose_product clearfix">
 <!--渲染數據  從那個下標開始加載-->
 <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>&yen;{{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>
  <!--動態生成頁數標簽-->
  <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:"",//頁面數據
 num:0,
 pages:1,//當前頁數
 priceQuery:false,//價格排序判斷
 Total:"",//總頁數(向上取整)
 initial:4,//默認加載數量
 total:"",//最終頁數
 }
 },
 created(){
 //獲取初始數據
 axios.get("'../../static/mock/data.json").then(res=>{
 this.Total = res.data.goods[0].foods.length;
 var arr = [];
 //限制獲取數據量
 for(var i=0;i<this.initial;i++){
 //加載數據  頁數+數量
 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(){
 //頁數++
 if(this.pages == this.total){
  this.pages = this.total;
 }else{
  this.pages++;
 }
 //從 加載數據 下標+數量
 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();
 },
 //刷新數據
 sua(){
 axios.get("'../../static/mock/data.json").then(res=>{
 var arr = [];
 //限制獲取數據量
 for(var i=0;i<this.initial;i++){
 //判斷數據是否有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);
 }); 
 },
 //頁數選擇
 yesu(e){
// console.log(e.target.id);
 this.num = (e.target.id)*4;
 this.pages = Number(e.target.id)+1;
 this.sua();
 },

以上是“怎么使用vue實現分頁加載效果”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

延安市| 寿宁县| 堆龙德庆县| 枞阳县| 马公市| 新安县| 逊克县| 温宿县| 晋城| 彭州市| 弥渡县| 佛学| 全南县| 屏南县| 乌兰察布市| 驻马店市| 台江县| 保靖县| 神农架林区| 襄城县| 牡丹江市| 西乌珠穆沁旗| 桐庐县| 彩票| 兴安县| 正蓝旗| 习水县| 交城县| 梅州市| 贵德县| 崇礼县| 古丈县| 石泉县| 金湖县| 万安县| 榕江县| 礼泉县| 兴业县| 琼海市| 鄄城县| 偃师市|