维子君
维子君
  • 发布:2023-02-24 13:58
  • 更新:2023-02-24 15:35
  • 阅读:311

【报Bug】Vue3+nvue+原生组件的情况下uni.preloadPage实测不会真正进行预渲染nvue包含的原生组件,而vue2没有问题。

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 12.5.1

HBuilderX类型: 正式

HBuilderX版本号: 3.7.3

手机系统: 全部

手机厂商: 华为

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

测试过的手机:

全部

操作步骤:

创建nvue页面,页面中需包含一个原生组件(或原生插件实现的页面组件)。使用vue2和vue3分别进行preloadPage后跳转此nvue页面,可明显发现在vue3下跳转卡顿且预渲染失效。

预期结果:

.

实际结果:

.

bug描述:

Vue3的情况下uni.preloadPage实测不会真正进行预渲染原生组件,虽然触发了生命周期,但并没有进行页面渲染,包括最新版本3.7.3。

而vue2没有此问题。

创建nvue页面,页面中需包含一个原生组件(或原生插件实现的页面组件)。使用vue2和vue3分别进行preloadPage后跳转此nvue页面,可明显发现在vue3下跳转卡顿且预渲染失效。

2023-02-24 13:58 负责人:无 分享
已邀请:
DCloud_UNI_WZF

DCloud_UNI_WZF

以 uni-calendar 组件为例测试,可以预加载页面,如确认框架问题,请提供测试工程,谢谢

  • 维子君 (作者)

    抱歉,我描述有错。 应该是创建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

要回复问题请先登录注册