请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

请问下老师关于滚动这里一个小问题

图片描述
老师这里课程这里使用了v-loading,但是better-scroll滚动的时候会试试去改变dom的样式和响应式数据。这时vNode改变。这样的话那么就每次滚动就会调用setTitle方法。这里算不算一个小bug。但是我没有想出来很好的优化点。。

正在回答 回答被采纳积分+3

2回答

提问者 hy_wang 2021-04-23 22:00:35

https://img1.sycdn.imooc.com//szimg/6082d2eb0956d04913360412.jpg

https://img1.sycdn.imooc.com//szimg/6082d2ee09c04b4d26000950.jpg

老师是这里


0 回复 有任何疑惑可以回复我~
  • 这是因为响应式对象 scrollY 在滚动的时候不断更新,所以会触发组件的 rerender,进而会执行 updated 钩子函数。但是在滚动过程中这个 updated 钩子函数里并不会执行什么耗时代码,binding.value 和 binding.oldValue 始终相等,所以并不需要做什么优化
    回复 有任何疑惑可以回复我~ 2021-04-25 10:31:50
ustbhuangyi 2021-04-23 21:13:22

bs 的滚动为何会改变响应式数据呢?

0 回复 有任何疑惑可以回复我~
  • 提问者 hy_wang #1
    老师是这样的,因为scroll组件绑定了v-loading。当组件update的时候,也就是每次滚动的时候都会触发directive的update。所以每次都触发了
    回复 有任何疑惑可以回复我~ 2021-04-23 21:56:56
  • 提问者 hy_wang #2
    老师我用你的源码测试了下,也存在这个问题。每次滚动都会执行一边update函数
    回复 有任何疑惑可以回复我~ 2021-04-23 22:01:11
  • 就是如果把 v-loading 绑定给scroll这个组件,当去触发滚动的时候 自定义指令的updated钩子函数会一直触发执行
    回复 有任何疑惑可以回复我~ 2021-04-24 15:37:01
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信