Skip to content

Latest commit

 

History

History
26 lines (11 loc) · 1.21 KB

vue在工作中遇到的问题.md

File metadata and controls

26 lines (11 loc) · 1.21 KB

vue2响应式的问题

data新增属性要使用Vue.set,删除属性要使用Vue.delete;而且无法直接修改数据。实际工作中经常忘记这件事。

但是vue3中解决了这个问题

内存泄漏

全局变量,全局事件,全局定时器,自定义事件,使用完之后不解绑不销毁就会造成内存泄漏

vue2本身是用一个with,无法避免的内存泄漏

路由切换返回时,scroll会回到顶部

这是 SPA 页面的通病,因为路由的切换靠的是路由和组件之间的映射关系,不同路由对应不同组件的渲染。因此从列表页(第二屏),进入到详情页(此时列表页组件已经销毁),再返回到列表页时,组件就要重新渲染,列表自然是回到顶部了。

解决方案:

  1. 在列表页缓存已滚动的页面数据和 ScrollTop 的滚动值,再次返回时,使用缓存数据渲染组件,执行ScrollTop(value),滚动到原来的位置。
  2. MPA + webview. 使用多页应用,每个包对应一个单独的页面,跳转页面时打开一个新的webview,原来的页面依然保留,不会被销毁,新页面只是覆盖在原来的页面上,页面返回时原来的页面还存在。