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

  • (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;

        }

        }

        在这里插入图片描述

        在这里插入图片描述

        在这里插入图片描述

      • 30
        点赞
      • 30
        收藏
        觉得还不错? 一键收藏
      • 0
        评论
      评论
      添加红包

      请填写红包祝福语或标题

      红包个数最小为10个

      红包金额最低5元

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

      抵扣说明:

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

      余额充值