vue 3.0 typescript vant.
1.单个界面刷新没问题:排除组件初始化调用问题
2.主界面滚动条在顶部则不会影响,当主界面下拉时,滚动条位置会影响子界面。
3.问题:
主界面滚动条会影响子界面滚动条
1.跳转前滚动条归为0,无效
2.使用Router的scrollBehavior返回top:0,无效。
3.跟踪发现,scroll事件注册之前和注册之后包括函数被触发时window.scrollY均为0,说明scroll没有被变化,需要找出何时调用了window的scroll事件。
4.跟踪check函数,发现是window自触发scroll事件???????
5.只有跳转界面时才会出现该问题:问题出在路由?????
6.咨询https://github.com/vuejs/vue-router/issues/3424得知是router的特性,跳转后维持滚动条不变主动触发scroll事件,说是可以通过初始界面START_LOCATION判断是否执行,使用的vant。。
7.返回在vant提个bug(相对来说),https://github.com/youzan/vant/issues/7786作者反馈需要自己判断路由当前位置,判读个锤子,要判断当前界面是否是START_LOCATION,而且滚动条位置还不能为0.
4.最终处理方案:
1.vant-list使用v-if 首次加载完成后设为true,达到延迟加载的目的,忽略第一次的scroll调用。
2. 二次封装vant-list ,首次加载判断是否有tochmove....