- 发布:2023-02-24 13:58
- 更新:2023-02-24 15:35
- 阅读:295
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 12.5.1
HBuilderX类型: 正式
HBuilderX版本号: 3.7.3
手机系统: 全部
手机厂商: 华为
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
测试过的手机:
操作步骤:
创建nvue页面,页面中需包含一个原生组件(或原生插件实现的页面组件)。使用vue2和vue3分别进行preloadPage后跳转此nvue页面,可明显发现在vue3下跳转卡顿且预渲染失效。
创建nvue页面,页面中需包含一个原生组件(或原生插件实现的页面组件)。使用vue2和vue3分别进行preloadPage后跳转此nvue页面,可明显发现在vue3下跳转卡顿且预渲染失效。
预期结果:
.
.
实际结果:
.
.
bug描述:
Vue3的情况下uni.preloadPage实测不会真正进行预渲染原生组件,虽然触发了生命周期,但并没有进行页面渲染,包括最新版本3.7.3。
而vue2没有此问题。
创建nvue页面,页面中需包含一个原生组件(或原生插件实现的页面组件)。使用vue2和vue3分别进行preloadPage后跳转此nvue页面,可明显发现在vue3下跳转卡顿且预渲染失效。
维子君 (作者)
抱歉,我描述有错。 应该是创建nvue页面,页面中需包含一个由原生插件写的component
稍等我可以马上做一个测试工程
2023-02-24 16:32
维子君 (作者)
我刚刚又试了一下,情况比较特殊。 原生component中如果加载的view太多,可能会造成这种情况。 但是同一个组件,在vue2下使用preloadPage和vue3下使用preloadPage是完全两种效果。
好想看一下preloadPage的源码呀!!!
2023-02-24 17:49
DCloud_UNI_WZF
回复 维子君: 方便提供个可复现的测试工程验证下吗?相关源码可拉取 uniapp 代码,搜索 preloadPage 查找
2023-02-24 17:52
维子君 (作者)
回复 DCloud_UNI_WZF: 复现工程比较复杂,我在帖子下方评论里重新发过程。
2023-02-24 19:33
维子君 (作者)
我发现了问题,预加载的url中包含中文。则在vue3下无法正常预加载,vue2下正常
2023-02-24 19:52
维子君 (作者)
已解决,处理了url的中文问题,已经可以正常预加载页面。
2023-02-24 20:08