可以跟我的笔记,this.$nextTick一起看
事件委托 第26集 11分钟
三级联动这里,如果每一个标签,都用命令式导航,那么滑动过快,会出现卡顿现象
router-link是一个组件?
服务器的数据返回之后,循环出很多的router-link组件。创建组件实例(一瞬间太多,耗内存,会卡顿),把真实dom渲染成虚拟dom
只能用编程式导航
每一个标签都添加点击事件(同理也会一瞬间出来很多回调函数)也会卡顿
最后解决方案,事件委托,把点击事件放在就近的父元素中
问题(这个父元素div里面有太多的元素,有a h dt dl ,怎么判断点击的是a?怎么传递参数呢?)
获取参数
给a标签添加自定义属性,通过dataset对象来获取html标签里面的自定义属性和值
事件()把event传递过去
event.target就是元素
element.dataset就是拥有自定义属性的元素
解构赋值把自定义属性给取出来
如果拥有category就是a标签
location就是编程式导航的
然后参数是query ,有俩一个是name一个是id
注意categoryName:categoryname
这个categoryname是解构赋值出来的值,
html解析自定义属性的值时,没有驼峰,会把N变成n,其他id也是这样
最后整理参数