VUEJS實(shí)戰(zhàn)之利用laypage插件實(shí)現(xiàn)分頁(yè)(3)
前言
在上兩章的工作中,我們順利的實(shí)現(xiàn)了首頁(yè)的渲染,但是,只是渲染了一頁(yè)數(shù)據(jù)而已.我們可能需要渲染更多的數(shù)據(jù),這時(shí)候,我們就有必要考慮分頁(yè)了.
分頁(yè)有很多種方式,比如異步加載的分頁(yè)方式.然而對(duì)于沒(méi)有太多使用前端模版框架的朋友來(lái)說(shuō),一上來(lái)就使用這種方式,可能稍微有點(diǎn)難度.因此,我們這章的分頁(yè)實(shí)現(xiàn),是基于普通的鏈接分頁(yè)的方式完成的.
在我們有了更多的前端框架的使用經(jīng)驗(yàn)之后,我們可以使用更加豐富的分頁(yè)方法.
事實(shí)上,我們自己構(gòu)建一個(gè)分頁(yè)組件也不是不可以,在移動(dòng)端我都是自己的代碼實(shí)現(xiàn)的.但是,我這里要推薦的是使用 laypage 這個(gè)分頁(yè)插件,其官方網(wǎng)址是 (http://laypage.layui.com/).
分頁(yè)規(guī)則制訂
首先,我們來(lái)看一下接口說(shuō)明
這里是get接口,因此,如上圖所示,正確的請(qǐng)求方式就是,直接在接口的Url后面追加參數(shù).
http://cnodejs.org/api/v1/topics?page=11
好,那我們的url地址就可以是 //xxx/index.shtml?1 因?yàn)槲也粶?zhǔn)備用其他的參數(shù),只要把分頁(yè)給完成就可以了.因此,可以直接在后面加上分頁(yè)id,然后通過(guò)一個(gè)函數(shù)獲取url中的這個(gè)id,追加到接口上面,那么就可以實(shí)現(xiàn)我們的需求了.
寫(xiě)代碼實(shí)現(xiàn)!
獲取URL中的ID
如上面所想,我們需要一個(gè)函數(shù),這個(gè)函數(shù)可以正確的獲得我們追加在url地址問(wèn)候好眠的id.
function getUrlId(){ var host = window.location.href; var id = host.substring(host.indexOf("?")+1,host.length); return id; }
如上代碼,通過(guò)這個(gè)函數(shù)方法,就可以獲得我們追加在url后面的ID了,測(cè)試一下
$(function(){ var id = getUrlId(); console.log(id); var url = "http://cnodejs.org/api/v1/topics"; getJson(url,pushDom); });
如下圖所示:
通過(guò)ID我們來(lái)獲取不同的數(shù)據(jù)
$(function(){ var id = getUrlId(); var url = "http://cnodejs.org/api/v1/topics?page="+id; getJson(url,pushDom); });
如上,就可以根據(jù)不同的url來(lái)獲取不同的數(shù)據(jù)了.
使用 laypage 實(shí)現(xiàn)分頁(yè)
首先當(dāng)然是引用文件了.
<script src="res/js/plugins/laypage/laypage.js"></script>
在html適當(dāng)?shù)牟糠?加上分頁(yè)組件的盒子,如下:
<div class="page"></div>
然后,我們?cè)诠俜骄W(wǎng)站上把代碼給復(fù)制過(guò)來(lái).適當(dāng)修改,代碼如下
$(function(){ var id = getUrlId(); var url = "http://cnodejs.org/api/v1/topics?page="+id; getJson(url,pushDom); laypage({ cont: $(".page"), pages: 100, curr: id, jump: function(e, first){ if(!first){ location.href = '?'+e.curr; } } }); })
最終效果如下圖所示:
小結(jié)
在本章,我們的內(nèi)容其實(shí)和VUE的關(guān)系不大.但是,無(wú)論是使用什么內(nèi)容,最終都是以完成項(xiàng)目為目的的.用已經(jīng)開(kāi)發(fā)好的插件來(lái)實(shí)現(xiàn),可以大大提高我們的效率.
附錄
VUE官方網(wǎng)站
cNodeJs Api 詳細(xì)介紹
本系列教程源碼下載
VUEJS 實(shí)戰(zhàn)教程第一章,構(gòu)建基礎(chǔ)并渲染出列表
VUEJS 實(shí)戰(zhàn)教程第二章,修復(fù)錯(cuò)誤并且美化時(shí)間
VUEJS 實(shí)戰(zhàn)教程第三章,利用laypage插件實(shí)現(xiàn)分頁(yè)
本文已被整理到了《Vue.js前端組件學(xué)習(xí)教程》,歡迎大家學(xué)習(xí)閱讀。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- laypage.js分頁(yè)插件使用方法詳解
- layui2.0使用table+laypage實(shí)現(xiàn)真分頁(yè)
- 基于layPage插件實(shí)現(xiàn)兩種分頁(yè)方式淺析
- thinkPHP3.2.3結(jié)合Laypage實(shí)現(xiàn)的分頁(yè)功能示例
- thinkPHP5使用laypage分頁(yè)插件實(shí)現(xiàn)列表分頁(yè)功能
- 基于LayUI分頁(yè)和LayUI laypage分頁(yè)的使用示例
- laypage分頁(yè)控件使用實(shí)例詳解
- js多功能分頁(yè)組件layPage使用方法詳解
- laypage前端分頁(yè)插件實(shí)現(xiàn)ajax異步分頁(yè)
- laypage+SpringMVC實(shí)現(xiàn)后端分頁(yè)
相關(guān)文章
詳解vue 配合vue-resource調(diào)用接口獲取數(shù)據(jù)
本篇文章主要介紹了vue 配合vue-resource調(diào)用接口獲取數(shù)據(jù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06關(guān)于Vue Router中路由守衛(wèi)的應(yīng)用及在全局導(dǎo)航守衛(wèi)中檢查元字段的方法
這篇文章主要介紹了關(guān)于Vue Router中路由守衛(wèi)的應(yīng)用及在全局導(dǎo)航守衛(wèi)中檢查元字段的方法,實(shí)現(xiàn)方法有兩種,本文通過(guò)實(shí)例代碼對(duì)每種方法介紹的很詳細(xì),需要的朋友參考下2018-12-12Vue+ElementUI實(shí)現(xiàn)動(dòng)態(tài)更換任意主題色(動(dòng)態(tài)換膚)的全過(guò)程
眾所周知Element-UI有換膚功能,下面這篇文章主要給大家介紹了關(guān)于Vue+ElementUI實(shí)現(xiàn)動(dòng)態(tài)更換任意主題色(動(dòng)態(tài)換膚)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02Vue封裝通過(guò)API調(diào)用的組件的方法詳解
在日常業(yè)務(wù)開(kāi)發(fā)中我們會(huì)經(jīng)常封裝一些業(yè)務(wù)組件,下面這篇文章主要給大家介紹了關(guān)于Vue封裝通過(guò)API調(diào)用的組件的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12vue+element實(shí)現(xiàn)動(dòng)態(tài)加載表單
這篇文章主要為大家詳細(xì)介紹了vue+element實(shí)現(xiàn)動(dòng)態(tài)加載表單,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-12-12Vite結(jié)合Vue刪除指定環(huán)境的console.log問(wèn)題
這篇文章主要介紹了Vite結(jié)合Vue刪除指定環(huán)境的console.log問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03使用vue腳手架(vue-cli)搭建一個(gè)項(xiàng)目詳解
這篇文章主要介紹了vue腳手架(vue-cli)搭建項(xiàng)目,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05