Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)十五(实现商品页面搜索功能,以及分页功能)(1)

本文详细介绍了如何在基于SpringBoot+SpringCloud的Java网络商城项目中实现商品页面的搜索功能和分页功能。首先,处理返回的搜索数据,包括设置价格、处理文字过多的情况及图片切换功能。接着,搭建分页条,确保当前页始终居中,实现上一页和下一页的切换,并监控分页状态变化以实时刷新数据。最后,通过聚合分类和品牌信息,完成页面的渲染和显示,实现更多和收起功能,以及对数据为空时的处理。此外,文章还提供了完整的PDF资料链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • (2)处理返回的数据

    在这里插入图片描述

    el: “#searchApp”,

    data: {

    search:{},

    goodsList:[],

    total: 0,

    totalPage: 0,

    selectedSku:{}

    },

    created(){//这是个构造方法

    //获取请求参数

    const search = ly.parse( location.search.substring(1));

    this.search = search;

    //发送后台数据

    this.loadData();

    },

    methods:{

    loadData(){

    //发送数据到后台

    ly.http.post(“/search/page”,this.search).then(resp => {

    //保存分页结果

    this.total = resp.data.total;

    this.totalPage = resp.data.totalPage;

    //保存当前页商品数据

    resp.data.items.forEach(goods =>{

    // 把JSON处理为JS对象

    goods.skus = JSON.parse(goods.skus);//JSON.parse将JSON字符串转换为JSON对象

    //初始化被选中的sku

    goods.selectedSku = goods.skus[0];

    })

    this.goodsList = resp.data.items;

    }).catch(error =>{

    })

    }

    },

    (3)完善HTML代码

    在这里插入图片描述

    • ¥

      促{ { goods.subTitle }}

      已有2000人评价

      加入购物车

      对比

      关注

      刷新页面

      显示成功

      在这里插入图片描述

      (4)处理上述的代码
      1)设置价格

      定义ly变量

      在这里插入图片描述

      设置价格格式

      在这里插入图片描述

      刷新页面

      在这里插入图片描述

      2)处理字太多下不下

      在这里插入图片描述

      促{ { goods.subTitle.substring(0,15) }}…

      刷新页面

      在这里插入图片描述

      3)设置点击小图片切换大图片

      在这里插入图片描述

      在这里插入图片描述

      • 刷新页面

        在这里插入图片描述

        设置鼠标动到图片上切换选择并显示对应的图片

        在这里插入图片描述

        鼠标悬浮直接切换当前的sku,之后图片价格和描述都会改变

        @mouseenter=“goods.selectedSku=sku”

        切换成功

        在这里插入图片描述

        2、设置分页条

        在这里插入图片描述

        在这里插入图片描述

      • 设置初始页

        在这里插入图片描述

        search.page = parseInt(search.page) || 1;

        刷新页面。我们可以看到设置了page的初始值为1

        在这里插入图片描述

        设置是否选中当前页

        在这里插入图片描述

      • 刷新页面

        在这里插入图片描述

        3、设置分页的当前页永远在中间

        当当页大于3的时候整体页数+1

        在这里插入图片描述

        v-for=“i in Math.min(5,totalPage)” :key=“i”>

        实现index函数

        在这里插入图片描述

        index(i){

        if(this.search.page <= 3 || this.totalPage < 5){

        return i;

        }else if(this.search.page >= this.totalPage - 2){

        return this.totalPage - 5 + i;

        }else {

        return i + this.search.page - 3;

        }

        }

        在这里插入图片描述

        在这里插入图片描述

        在这里插入图片描述

        在这里插入图片描述

        4、实现点击分页条实现页面的切换

        (1)实现上一页和下一页的切换
        1)添加点击事件

        在这里插入图片描述

        • <a href=“#” @click.prevent=“prePage” >«上一页

        • ...
        • <a href=“#” @click.prevent=“nextPage”>下一页»

          2)实现对应函数

          在这里插入图片描述

          prePage(){

          if(this.search.page > 1){

          this.search.page–;

          }

          },

          nextPage(){

          if(this.search.page < this.totalPage){

          this.search.page++;

          }

          }

          (2)设置总页数,和总数量
        评论
        添加红包

        请填写红包祝福语或标题

        红包个数最小为10个

        红包金额最低5元

        当前余额3.43前往充值 >
        需支付:10.00
        成就一亿技术人!
        领取后你会自动成为博主和红包主的粉丝 规则
        hope_wisdom
        发出的红包
        实付
        使用余额支付
        点击重新获取
        扫码支付
        钱包余额 0

        抵扣说明:

        1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
        2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

        余额充值