深度监听 deep 新值跟老值
话不多说上bug😢
简洁说就是点击第一条数据搜索按钮,跳转搜索页数之后关闭弹框。点击第二条数据搜索时候就不显示历史记录了
切换分页搜索另一条数据时候显示不到数据
解决办法:
解决bug第一步就是复现这个bug,在我复现bug的时候我通过控制台找到了问题所在 上图
两个搜索记录formdata都是这个
这就证明了第一条分页的时候没监听到数据改变所以没触发显示历史记录的方法,当切换搜索数据的时候肯定会有数据发生变化但是我们普通监听没触发到改变。这时候就需要深度监听出马了
我们先找到监听商品历史记录的数据这里我起名叫goodsInfo,深度监听设置新值跟老值
当我们第一条数据搜索加切换页面操作完成之后,选择第点击二条数据搜索记录,第一条数据的goodsInfo是老值,第二条数据的goodsinfo就是新值。下面我们进行判断
当新值的id不等于老值的id时候直接让页面重置为1(currentPage是第几个页面)深度监听我们第一条搜素记录的老id个第二条搜素记录的新id肯定不一样,所以一定会触发重置页面为1的方法这样第二条数据就有搜索记录了。