vue信息列表实现点击加载更多陆续显示后面数据

news2024/11/14 21:47:24

 原理:在点击加载更多后进行判断:

      if (this.currentPage < this.totalPages - 1) {
        this.currentPage++;
      }

如果当前页码小于总页码就让当前页码+1,通过计算属性动态更新开始和结束值,从而当前页面展示更多数据:

      paginatedArtList() {
        const start = 0;
        const end = (this,this.currentPage + 1)*12;
        return this.artList.slice(start, end);
      },
<template>
    <div class="client-box">
      <div class="client-top">
        <div class="client-top-text">
          <h1>客户案例</h1>
          <img src="@/assets/client-top.png" alt="" class="top-img">
          <img src="@/assets/client-top2.png" alt="" class="top-img2">
        </div>
      </div>

      <div class="client-content">
        <div class="client-artbox">
          <div class="client-art-list">
            <!-- list -->
            <div class="art-item-box">
              <div class="art-item" v-for="(art, index) in paginatedArtList" :key="index">
                  <a :href="art.artsrc">
                  <img :src="art.imgsrc" alt="">
                    {{art.title}}</a> 
                </div>
            </div>

            <!-- 加载更多 -->
             <div class="client-art-list-more">
              <button @click="loadMore" v-if="currentPage < totalPages - 1">加载更多</button>
              <button v-else>已显示全部</button>
             </div>
          </div>
        </div>
      </div>
    </div>
  </template>
  
  <script>
  export default {
    name: "Client",
    data() {
      return {
        currentPage: 0, // 当前页码
      };
    },
    computed: {
      artList() {
        return this.$store.state.artList;
      },
      paginatedArtList() {
        const start = 0;
        const end = (this,this.currentPage + 1)*12;
        // const start = this.currentPage * 9;
        // const end = start + 9;
        return this.artList.slice(start, end);
      },
      totalPages() {
        // 计算总页数
        return Math.ceil(this.artList.length / 12);  // 每页显示6条数据
      },
    },
    methods: {
      loadMore() {
      if (this.currentPage < this.totalPages - 1) {
        this.currentPage++;
      }
    }
  },
    mounted(){

    }
  }
  </script>
  
  <style coped>
    .client-top{
      width: 100%;
      background-color: #4095E5;
      height: 300px;
      margin-bottom: 65px;
    }
    .client-top-text{
      max-width: 1440px;
      margin: auto;
      display: flex;
    }
    .client-top-text h1{
      font-size: 50px;
      padding: 5% 0 0 15%;
      color: #ffffff;
      display: inline;
    }
    .top-img{
      margin-left: 15%;
    }
    .top-img2{
      width: 100px;
      height: 100px;
      margin-top: 10%;
      margin-left: -15%;
    }

    .client-content{
      max-width: 1440px;
      margin: auto;
      /* height: 700px; */
      padding-bottom: 50px;
    }

    /* list */
    .art-item-box{
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        /*justify-content: space-around;*/
    }
    .art-item{
        width: 19%;
        margin: 3%;
        /*background-color: #cccccc;*/
    }
    .art-item img{
        width: 100%;
        display: block;
        box-shadow: 1px 1px 10px 5px #cccccc ;
        margin-bottom: 20px;
        transition: all 0.5s;
    }
    .art-item img:hover{
      transform: scale(1.1);
    }
    .art-item a{
        /* margin-top: 5px; */
        display: block;
        text-align: center;
        margin: auto;
    }

    .client-art-list-more{
      width: 100%;
    }
    .client-art-list-more button{
      position: relative;
      display: block;
      width: 200px;
      height: 50px;
      margin: auto;
      color: #ffffff;
      cursor: pointer;
      background-color: #BD3124;
      border: none;
      border-radius: 10px;
      transition: all 0.3s;
      font-size: 18px;
    }
    .client-art-list-more button:hover{
      background-color: #4095E5;
    }



    @media screen and (max-width:768px) {
      .client-top{
        margin-bottom: 20px;
      }
      .client-top-text{
        display: block;
      }
      .client-top-text h1{
        font-size: 40px;
        display: block;
        text-align: center;
        padding:unset;
        margin-bottom: 20px;
      }
      .top-img{
        width: 100%;
        margin-left: unset;
      }
      .top-img2 {
        width: 60px;
        height: 60px;
        margin-top: -12%;
        margin-left: 70%;
      }
      .art-item{
        width: 44%;
      }
    }
  </style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1981589.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WPF使用Iconfont字符串的操作方法

1.下载字体库文件 https://www.bootcss.com/p/font-awesome/ 2.放入Fonts文件夹下 3.文件属性修改为 资源 3.引入 FontFamily字体类型 <Setter Property"FontFamily" Value"../../CommonInMy/Fonts/#iconfont"/>注意这里的地址请填写绝对地址&…

哈佛大学单细胞课程|笔记汇总 (二)

哈佛大学单细胞课程|笔记汇总 &#xff08;一&#xff09; &#xff08;二&#xff09;Single-cell RNA-seq data - raw data to count matrix 根据所用文库制备方法的不同&#xff0c;RNA序列&#xff08;也被称为reads或tag&#xff09;将从转录本&#xff08;(10X Genomic…

期权逢高空是什么意思?期权为什么要逢高空呢?

今天带你了解期权逢高空是什么意思&#xff1f;期权为什么要逢高空呢&#xff1f;期权是金融市场上常见的一种金融工具&#xff0c;它赋予持有者在未来某个特定时间以特定价格买入或卖出标的资产的权利。 期权逢高空是什么&#xff1f; 期权逢高空是一种交易策略&#xff0c;…

在Ubuntu 24.04服务器或桌面上安装XFCE

在Ubuntu 24.04 上更改当前 桌面环境或添加新桌面环境并不困难。大多数流行的Linux桌面环境&#xff08;包括 XFCE&#xff09;都可以使用默认的 Ubuntu 24.04 LTS 系统存储库进行安装。因此&#xff0c;在本教程中&#xff0c;我们将学习如何使用 Tasksel 工具在 Ubuntu Linux…

海外仓代理刚入行怎么抢占优势?找对系统就是捷径

海外仓现在就是一块正在越做越大的蛋糕&#xff0c;涌入的货代如果想从海外仓代理做起&#xff0c;并且抢占优势其实也不难。这个过程最关键的就是管理&#xff0c;包括信息、财务、仓库、人员等&#xff0c;易境通DWMS系统就把管理的问题一站式集合起来&#xff0c;一条龙搞定…

RTSP/Onvif安防视频监控云平台EasyNVR无法正常启动(系统缺库)的解决办法

视频安防监控平台EasyNVR可支持设备通过RTSP/Onvif协议接入&#xff0c;并能对接入的视频流进行处理与多端分发&#xff0c;包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等多种视频流格式。平台可提供视频实时监控直播、云端录像、云存储、录像检索与回看、告警等视频能力&a…

传统ERP vs 零代码ERP:企业究竟应当选哪条路?

在大环境变幻莫测的今天&#xff0c;每个企业都像是航行在数字化浪潮中的一艘船&#xff0c;而ERP系统&#xff0c;就像是这艘船的导航系统&#xff0c;帮助企业精准定位、高效航行。 但面对传统ERP与新兴零代码ERP&#xff0c;不少企业家可能会感到迷茫&#xff1a;是该坚守传…

项目实战--订单30分钟自动关闭

订单30分钟自动关闭 一、背景二、方案分析2.1 数据库轮询2.2 JDK延迟队列2.3 时间轮算法2.4 redis缓存2.5 使用消息队列 一、背景 延时任务的需求&#xff1a; 生成订单30分钟未支付&#xff0c;则自动取消生成订单60秒后,给用户发短信 二、方案分析 2.1 数据库轮询 该方案…

前端-Vue3如何引入高德地图并展示行驶轨迹动画

预览效果&#xff1a; 一、获取高德地图API的key(相当于获取开发许可权&#xff0c;没有就用不了) 注册高德账号&#xff0c;注册成功后复制 Key 值到组件&#xff0c;就可以使用。 二、安装依赖 cnpm install amap/amap-jsapi-loade 三、页面代码 <template><di…

3D展示的前景如何?

随着人类科技的不断进步&#xff0c;对未来的趋势也肯定是向高纬度发展。3D取代2D只是一个所需时间长短而已&#xff0c;题主既然这么问&#xff0c;说明肯定是意识到了3D是未来的趋势&#xff0c;那么就应该多接触和了解未来的3D平台及应用工具、应用领域等。 之前2G\3G时代&…

精益管理学会:一个故事看透精益管理中目视化管理的重要性

一个启示性的故事 1952年7月4日清晨&#xff0c;加利福尼亚海岸笼罩在浓雾之中。在距离海岸21英里的卡塔林纳岛上&#xff0c;一个女人准备从太平洋游向加州海岸。 那天早晨&#xff0c;雾气异常浓重&#xff0c;冰冷的海水使她全身麻木&#xff0c;她几乎看不见护送她的船。…

解锁数字电路新境界:SmartEDA如何成为你的学习加速器?

在这个数字化飞速发展的时代&#xff0c;掌握数字电路知识不仅是电子工程师的必修课&#xff0c;也是众多科技爱好者探索未知世界的钥匙。然而&#xff0c;面对复杂的逻辑门、时序分析、以及繁琐的电路设计&#xff0c;许多初学者往往感到力不从心。幸运的是&#xff0c;SmartE…

乡村振兴之智慧农业建设规划

1. 建设背景与需求 《乡村振兴之智慧农业建设规划》旨在通过智慧农业技术推动农业现代化&#xff0c;响应国家乡村振兴战略。项目需求包括农业遥感应用、测土配方施肥、农产品销售分析、农资管理、物流配送监管、农业专家库、市场分析、产业链应用及金融保险服务。 2. 项目需…

一个电脑如有多个git用户时,拉取代码时候记得加上用户名

remote: The project you were looking for could not be found. 在使用Git客户端克隆和pull远程仓库的时候报错&#xff1a;提示找不到上游仓库&#xff0c;但是地址是正确的&#xff01;问题如图&#xff1a; 问题原因解析&#xff1a; 因为自己的项目不止一个 又有自动保存…

结构开发笔记(一):外壳IP防水等级与IP防水铝壳体初步选型

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/140928101 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV…

JavaEE-多线程编程线程池

目录 引入线程池的原因 介绍标准库中线程池的参数&#xff08;高频面试题&#xff09; 实际开发中&#xff0c;核心线程数设置为多少才合适&#xff1f; 线程池的使用 自己实现一个简单的线程池 像线程池/常量池/内存池/进程池等等&#xff0c;这些池的思想都是一样的——…

JS实现文字打印效果(完整代码附效果图)

效果图&#xff1a; 完整代码&#xff1a; <template><view class"page" touchstart"touchstart" touchend"touchend"><view v-if"showTopBlock"><view class"topBlockBg" click"showTopBlockfa…

关于k8s集群中kubectl的陈述式资源管理

1、k8s集群资源管理方式分类 &#xff08;1&#xff09;陈述式资源管理方式&#xff1a;增删查比较方便&#xff0c;但是改非常不方便 使用一条kubectl命令和参数选项来实现资源对象管理操作 &#xff08;2&#xff09;声明式资源管理方式&#xff1a;yaml文件管理 使用yam…

mac下载exe后不自动打开虚拟机

看到网上没有相关教程&#xff0c;正好解决了&#xff0c;发一下 场景&#xff1a;Mac环境下下载EXE文件&#xff0c;会导致VM虚拟机自动打开来执行文件&#xff0c;所以很烦。 解决方法&#xff1a; Mac系统-系统设置-隐私与安全-vmfusion-取消掉下载文件夹即可。 还有其他…

沃尔玛1P账号的强悍作用重要反映在那些方面?——WAYLI威利跨境助力商家

沃尔玛作为全球最大的零售商之一&#xff0c;其品牌影响力非常强大。商家通过入驻沃尔玛商超并开设1P账号&#xff0c;能够借助沃尔玛的品牌影响力来提升自身的品牌知名度和美誉度。这种品牌背书的效应&#xff0c;有助于商家吸引更多的消费者关注和购买自己的产品。 一、沃尔玛…