问题
又遇到一个问题,在小程序的首页是抽奖列表,不断的进入首页,选择不同的奖品进入详情页,多次进入同一个页面发生卡顿。
Vue$3.prototype.$updateDataToMP这个函数在被递增式调用,所以当页面数据复杂,或者是客户端手机性能跟不上的时候就会感觉越来越卡顿
发现watch 观察者并没有被清空,每次进入页面每次new Watcher的时候,都在新增观察者,所以不停进入页面的时候 不停的调用所有的watch,数据渲染会越来越慢
解决
目前暂时的解决方法,每次进入upload的时候,手动清空_watch
所以页面upload的时候,不只需要清空data数据,也需要清空watch
onUnload(){
this._watchers=[];
if (this._watcher && this._watcher.teardown) {
this._watcher.teardown()
}
}