美文网首页
2019-12-03vue加分页

2019-12-03vue加分页

作者: zz云飞扬 | 来源:发表于2019-12-03 16:40 被阅读0次

1、template部分

2、component

方法和搜索

页数和每页条数改变重新请求:

页数显示一部分:

前台效果

完整的html:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>mypagetest</title>

<script src="https://cdn.bootcss.com/vue/2.6.10/vue.js"></script>

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

</head>

<body>

<div id="pagediv">

<mypage></mypage>

</div>

<template id="page-template">

<div>

businessIp<input type="text" v-model="businessIp">

virtualPcName<input type="text" v-model="virtualPcName">

<button @click="searchRecord">搜索</button>

<table>

                <tr v-for="(task,index) in list">

<td>{{index}}</td>

<td>{{task.businessIp}}</td>

<td>{{task.mem}}</td>

<td><button style="background:red;" @click="deleteTask(task.businessIp)">删除</button></td>

</tr>

</table>

<ul>

<button class='inline' @click="prePage(cur)">上一页</button>

<button  v-for="page in pages" class='inline'  :class="{ 'active': cur == page}" @click="btnClick(page)">{{page}}</button>

<button class='inline' @click="nextPage(cur)">下一页</button>

go to<input type="number" v-model="cur">页

<select v-model="limit" id="select1">

<option value="20">20条/页</option>

<option value="30">30条/页</option>

<option value="40">40条/页</option>

</select>

<span>共{{total}}页</span>

</ul>

</div>

</template>

</body>

<script>

Vue.component('mypage', {

template:'#page-template',//这个地方是逗号,变成分号就没有用

        data:function(){

return{

businessIp:'',

virtualPcName:'',

total:0,

limit:20,

cur:1,

list:[]

}

},

created:function(){

var vm=this;

axios.post('/reslist', {

'page':vm.cur,

'limit':vm.limit

            })

.then(function (response) {

vm.total=Math.ceil(response.data.count/vm.limit);

vm.list=response.data.data;

})

.catch(function (error) {

console.log(error);

});

},

methods:{

deleteTask:function(index){

console.log(index);

this.list.splice(index,1);//没有$ 这个符号,记住

            },

prePage:function(data){

if(this.cur!=1){

this.cur--;

}

},

nextPage:function(data){

if(this.cur!=this.total){

this.cur++;

}

},

btnClick:function(data){//页码点击事件

                if(data !=this.cur){

this.cur = data;

}

},

searchRecord:function f() {

console.log(this.businessIp+this.virtualPcName);

}

},

watch: {

'cur':function (val, oldVal) {

var vm=this;

axios.post('/reslist', {

'page':this.cur,

'limit':vm.limit

                })

.then(function (response) {

vm.total=Math.ceil(response.data.count/vm.limit);

vm.list=response.data.data;

})

.catch(function (error) {

console.log(error);

});

console.log('new: %s, old: %s', val, oldVal)

},

'limit':function (val, oldVal) {

var vm=this;

axios.post('/reslist', {

'page':this.cur,

'limit':vm.limit

                })

.then(function (response) {

vm.total=Math.ceil(response.data.count/vm.limit);

vm.list=response.data.data;

})

.catch(function (error) {

console.log(error);

});

console.log('new: %s, old: %s', val, oldVal)

}

},

computed: {

pages:function(){

var left =1;

var right =this.total;

var ar = [];

if(this.total>=20){

if(this.cur >10 &&this.cur

                        left =this.cur -10;

right =Math.ceil(this.cur )+10;

}else{

if(this.cur<=10){//如果当前是3

                            left =1;

right =20;

}else{//这个else就是this.cur >=this.total-2, 比如,148 页,

                            right =this.total;

left =this.total -10;

}

}

}

while (left <=right){

ar.push(left);

left ++

}

return ar

            }

}

}),

new Vue({

el:'#pagediv'

        })

</script>

<style>

.inline{

display:inline-block;

}

.active{

background:blue;

}

</style>

</html>

相关文章

  • 2019-12-03vue加分页

    1、template部分 2、component 方法和搜索 页数和每页条数改变重新请求: 页数显示一部分: 前台...

  • 6 springboot集成PageHelper

    正好做到分页,原来的分页都是用mysql的limit自己去分页,现在发现PageHelper这个工具确实方便,就加...

  • Sql Server 大数据量查询

    常规条件分页查询 常规加嵌套

  • 移动开发与后台对接接口规范

    移动端入参格式: 1.POST请求 2.GET请求 3.分页请求加载(POST请求) 当数据量较大时要求使用分页加...

  • 如何正确的抄网页

    为了加一个新功能,抄了部分页面顺带一大坨 css 代码,结果原有部分页面样式就乱掉了。罪魁祸首就是两者的盒模型不同...

  • MyBatis之分页

    五、分页 目录:使用Limit分页、RowBounds分页、分页插件 1.使用Limit分页 语法: 使用MyBa...

  • 2019-03-04

    第一个: Word的大纲制图 加分页符 在开始新页之前加 分页符前后的格式相同(第一页的最后一行和第二页的第一行)...

  • Github API v3 分页问题

    分页主要是在url后加page和per_page参数。格式是?page=页数&per_page=每页包含数量。如:...

  • JS的分页算法

    分页的总页数算法 分页算法 分页存储过程或者页面分页中的分页算法: int pagesize // 每页记录数 i...

  • WEB页面中几种常见的分页样式

    这里谈谈WEB页面中几种常见的分页样式 分页样式一:滚动翻页image 分页样式二:常规分页image 分页样式三...

网友评论

      本文标题:2019-12-03vue加分页

      本文链接:https://www.haomeiwen.com/subject/gwzcgctx.html