小編給大家分享一下vue2.0與bootstrap3如何實(shí)現(xiàn)列表分頁(yè)效果,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、哈巴河ssl等。為超過(guò)千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的哈巴河網(wǎng)站制作公司
具體內(nèi)容如下
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>使用vue2.0與bootstrap3進(jìn)行簡(jiǎn)單列表分頁(yè)</title> <link href="http://v3.bootcss.com/dist/css/bootstrap.min.css" rel="stylesheet"> <script type="text/javascript" src="https://cn.vuejs.org/js/vue.js"></script> </head> <body> <div class="bs-example" id="table"> <table class="table table-striped"> <thead> <tr> <th>#</th> <th>名稱</th> <th>操作</th> </tr> </thead> <tbody> <tr v-if="listData.length>0" v-for="item in listData"> <th scope="row">{{item.id}}</th> <td>{{item.name}}</td> <td> <button v-on:click="editItem(item.id)" class="btn btn-default" >編輯</button> <button v-on:click="deleteItem(item.id)" class="btn btn-default" >刪除</button> </td> </tr> <tr> <td colspan=3> <div id="pagelist"> <div class="row"> <div class="col-sm-6" > <div class="dataTables_info" id="sample-table-2_info"> 共{{pageData.total}}條,當(dāng)前顯示第 <span v-if="pageData.pageSize==1 || pageData.total == 0 || pageData.total == 1"> {{pageData.itemStart}}</span> <span v-else>{{pageData.itemStart}}-{{pageData.itemEnd}}</span> 條 </div> </div> <div class="col-sm-6"> <div class="dataTables_paginate paging_bootstrap"> <ul class="pagination"> <li v-if="pageData.curPage == 1 || pageData.total == 0 || pageData.total == 1" class="prev disabled"> <a>首頁(yè)</a> </li> <li v-else class="prev"> <a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" v-on:click="changeCurPage(1,pageData.pageSize);"> 首頁(yè) </a> </li> <li v-if="pageData.curPage == 1 || pageData.total == 0 || pageData.total == 1" class="prev disabled"> <a>上一頁(yè)</a> </li> <li v-else class="prev"> <a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" v-on:click="changeCurPage(pageData.curPage-1,pageData.pageSize);"> 上一頁(yè)</i> </a> </li> <li v-if="pageData.totalPage > 5 && pageData.curPage > 3" class="next disabled"> <a>...</a> </li> <template v-for="pageItem in pageData.pageIndex"> <li v-if="pageData.curPage == pageItem" class="active"> <a>{{pageItem}}</a> </li> <li v-else> <a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" v-on:click="changeCurPage(pageItem,pageData.pageSize);"> {{pageItem}} </a> </li> </template> <li v-if="pageData.totalPage > 5 && pageData.curPage < pageData.totalPage-2" class="next disabled"> <a>...</a> </li> <li v-if="pageData.curPage == pageData.totalPage || pageData.total == 0 || pageData.total == 1" class="next disabled"> <a>下一頁(yè)</i></a> </li> <li v-else class="next"> <a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" v-on:click="changeCurPage(pageData.curPage+1,pageData.pageSize);"> 下一頁(yè)</i> </a> </li> <li v-if="pageData.curPage == pageData.totalPage || pageData.total == 0 || pageData.total == 1" class="next disabled"> <a>末頁(yè)</a> </li> <li v-else class="next"> <a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" v-on:click="changeCurPage(pageData.totalPage,pageData.pageSize);"> 末頁(yè) </a> </li> <template v-if="pageData.totalPage > 5" class="next disabled"> <li> <input value="" ref="goPage" class="input-mini" type="text" > <label><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" v-on:click="goPage(pageData.pageSize,pageData.totalPage)">Go</a></label> </li> </template> </ul> </div> </div> </div> </div> </td> <tr> </tbody> </table> </div> <script type="text/javascript"> function getData($page,$pageSize){//獲取數(shù)據(jù),可使用各種語(yǔ)言替換^_^ var $data = []; for (var $i=($page-1)*$pageSize+1; $i <=$page*$pageSize ; $i++) { $data.push( { id:$i, name:'name'+$i }); } var $returnData = {'data':$data,'total':103}; return $returnData; } var vm = new Vue({ el: '#table', data: { listData:[], page: 1,//當(dāng)前頁(yè)碼 pageSize: 10,//每頁(yè)條數(shù) total:0,//總數(shù) pageData: { curPage: 1, pageSize: 10, total: 0, totalPage: 0, pageIndex: [], itemStart: 0, itemEnd: 0 } }, methods:{ listItems: function () {//列出需要的數(shù)據(jù) var returnData =getData(this.page,this.pageSize); this.listData = returnData.data; this.total=returnData['total']; this.setPageList(this.total, this.page, this.pageSize); }, editItem:function ($id) {//編輯操作在這兒?jiǎn)? alert('編輯第'+$id+'條數(shù)據(jù)!'); }, deleteItem:function ($id) {//這里可以刪除數(shù)據(jù) alert('刪除第'+$id+'條數(shù)據(jù)!'); }, setPageList: function (total, page, pageSize) { total = parseInt(total); var curPage = parseInt(page); pageSize = parseInt(pageSize); var totalPage = Math.ceil(total / pageSize); var itemStart = (curPage - 1) * pageSize + 1; if (curPage == totalPage) { itemEnd = total; } else { itemEnd = curPage * pageSize; } var pageIndex = []; if (curPage >= 1 && curPage <= totalPage) { if (totalPage < 5) {//5頁(yè)以內(nèi) for (var $i = 1; $i <= totalPage; $i++) { pageIndex.push($i); } } else {//大于5頁(yè) if (curPage == 1) { pageIndex = [curPage, curPage + 1, curPage + 2, curPage + 3, curPage + 4]; } else if (curPage == 2) { pageIndex = [curPage - 1, curPage, curPage + 1, curPage + 2, curPage + 3]; } else if (curPage == totalPage - 1) { pageIndex = [curPage - 3, curPage - 2, curPage - 1, curPage, totalPage]; } else if (curPage == totalPage) { pageIndex = [curPage - 4, curPage - 3, curPage - 2, curPage - 1, curPage]; } else { pageIndex = [curPage - 2, curPage - 1, curPage, curPage + 1, curPage + 2]; } } } this.pageData.curPage = curPage; this.pageData.pageSize = pageSize; this.pageData.total = total; this.pageData.totalPage = totalPage; this.pageData.pageIndex = pageIndex; this.pageData.itemStart = itemStart; this.pageData.itemEnd = itemEnd; }, changeCurPage: function (page, pageSize) {//換頁(yè) this.page = page; this.pageSize = pageSize; this.listItems(); }, goPage: function (pageSize, totalPage) {//跳轉(zhuǎn)頁(yè) var pageIndex = this.$refs.goPage.value; if (pageIndex <= 0) { pageIndex = 1; this.$refs.goPage.value = 1; } else if (pageIndex >= totalPage) { pageIndex = totalPage; this.$refs.goPage.value = totalPage; } this.changeCurPage(pageIndex, pageSize); } } }); window.onload = function(){ console.log('Hello World!'); vm.listItems(); }; </script> </body> </html>
以上是“vue2.0與bootstrap3如何實(shí)現(xiàn)列表分頁(yè)效果”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)站題目:vue2.0與bootstrap3如何實(shí)現(xiàn)列表分頁(yè)效果
當(dāng)前路徑:http://muchs.cn/article6/ghedog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、云服務(wù)器、微信公眾號(hào)、移動(dòng)網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)