【day3】尚品汇

  1. 完成一级分类动态添加背景颜色
    第一种解决方案:采用样式完成(可以的)
   .item:hover{
              background-color: skyblue;
              }
        

第二种解决方案:js

  1. 通过JS控制二三级商品分类的显示与隐藏
    :style="{display:currentIndex==index?‘block’:‘none’

正常:事件触发非常频繁,而且每一次的触发,回调函数都要去执行(如果时间很短,而且回调函数内部有计算,那么很可能出现浏览器卡顿)
节流:在规定的间隔时间范围内不会触发回调,只有大于这个时间间隔才会触发回调,把频繁触发变为少量触发
防抖:前面的所有的触发都被取消,最后一次执行在规定的时间之后才会触发,也就是说如果连续快速的触发 只会执行一次

  1. 函数的防抖与节流
    节流:在规定的间隔时间范围内不会触发回调,只有大于这个时间间隔才会触发回调,把频繁触发变为少量触发
    防抖:前面的所有的触发都被取消,最后一次执行在规定的时间之后才会触发,也就是说如果连续快速的触发 只会执行一次

  2. 完成三级联动的节流操作

  3. 三级联动组件的路由跳转与传递参数
    三级联动用户可以点击的:一级分类,二级分类,三级分类,当你点击的时候
    Home模块跳转到Search模块,一级会把用户选中的产品(产品的名字,产品的ID)在路由跳转的时候,进行传递。
    路由跳转:
    声明式导航:router-link
    编程式导航:push|replace

三级联动:如果使用声明式导航 router-link,可以实现路由的跳转与传递参数
但是需要注意,出现卡顿

<router-link to="/search">{{ c1.categoryName }}</router-link>

router-link:可是一个组件,当服务器的数据返回之后,循环出很多的 router-link组件【创建组件实例】1000+
创建组件实例的时候,一瞬间创建1000+很耗内存,因此出现了卡顿现象
尝试一下点击事件

 <a @click="goSearch">{{ c3.categoryName }}---{{ index }}</a>
goSearch(){
   this.$router.push('/search')
  }

但是以上两种方式都不是最优的选择

解决方案

   <div class="all-sort-list2" @click="goSearch">
    >goSearch(){
    // 最好的解决方案:编程式导航 + 事件委派
    // 利用事件委派存在一些问题: 1:点击的一定是a标签?2:如何获取参数【1,2,3级分类的产品的名字】、id
 this.$router.push('/search')
}

存在一些问题:事件委派,是把全部的子节点【h3,dt,dl,em】的事件委派给父节点
1) 点击a标签的时候,才会进行路由跳转【怎么能确定点击的一定是a标签】
2)即使你能确定点击的是a标签,如何区分是一级、二级、三级分类的标签。

  1. 完成三级联动路由跳转与传递参数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值