欢迎来到代码驿站!

vue

当前位置:首页 > 网页前端 > vue

vue实现简单分页功能

时间:2022-08-05 11:44:19|栏目:vue|点击:

本文实例为大家分享了vue实现简单的分页功能的具体代码,供大家参考,具体内容如下

<template>
<div id="pages">
    <div class="pages">
        <div class="classInfo" v-for="(item,index) in currentPageData" :key="index">
            {{item}}
        </div>
        <div class="img1" @click="prevPage()"></div>
        <div class="img2" @click="nextPage()"></div>
    </div>
</div>
</template>
<script>
export default {
    data () {
        return {
            totalPage: 1, //所有页数,默认为1
            currentPage: 1, // 当前页数,默认为1
            pageSize: 9, //每页显示条数
            classInfo: [11,12,13,14,15,16,17,18,19,1,2,3,4,5,6,5,6,11,7,8,9,5,4,5,4,5],  //页面数据
            currentPageData: []  // 当前页显示内容
        }
    },
    mounted(){
        // 计算一共有几页
        this.totalPage = Math.ceil(this.classInfo.length / this.pageSize)
        // 计算得0时设置为1
        this.totalPage = this.totalPage == 0 ? 1:this.totalPage
        this.setCurrentPageData();
    },
    methods: {
        // 设置当前页面数据
        setCurrentPageData(){
            let begin = (this.currentPage - 1) * this.pageSize;
            let end = this.currentPage * this.pageSize;
            // console.log(begin)
            // console.log(end)
            this.currentPageData = this.classInfo.slice(
                begin,
                end
            )
            // console.log(this.currentPageData)
        },
        // 上一页
        prevPage(){
            // console.log(this.currentPage)
            if(this.curentPage == 1) return
            this.currentPage--;
            this.setCurrentPageData();
        },
        // 下一页
        nextPage(){
            // console.log(this.currentPage)
            if(this.curentPage == this.totalPage) return

            this.currentPage++
            this.setCurrentPageData()
        }
    }
}
</script>
<style lang="less" scoped>
#pages{
    // background-color: #fff;
    .pages{
        margin: 0 auto;
        width: 600px;
        height: 600px;
        // background-color: rgb(64, 180, 80);
        z-index: 999;
        .classInfo{
            font-size: 25px;
            color: aliceblue;
            z-index: 999;
        }
        .img1{
            width: 150px;
            height: 50px;
            background-color: rgb(189, 111, 111);
        }
        .img2{
            width: 150px;
            height: 50px;
            background-color: rgb(41, 94, 110);
        }
    }
}
</style>

效果图:

上一篇:Vue项目结合Vue-layer实现弹框式编辑功能(实例代码)

栏    目:vue

下一篇:Vue使用高德地图实现城市定位

本文标题:vue实现简单分页功能

本文地址:http://www.codeinn.net/misctech/209941.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有