- 在首页添加一个
subnvue,样式下:{ "id": "user-panel", "path": "pages/index/subnvue/user-panel", "type": "popup", "style": { "position": "popup", "width": "100%", "mask": "none", "background": "rgba(0, 0, 0, 0)" } },pages/index/subnvue/user-panel.vue:<view class="user-panel" @click.stop />样式:
<style> .user-panel { position: absolute; top: 0; bottom: 0; left: 0; right: 0; background-image: linear-gradient(to bottom right, #fafafa, #f5f5f5); width: 470rpx; padding: 0 20rpx; border-radius: 0 12rpx 12rpx 0; } </style> - 在首页可以跳转任意界面,再从另外的界面调用
uni.reLaunch({ url: '/pages/index/index' })方法跳转回来 - 在首页打开
subnvue:const popup = uni.getSubNVueById('user-panel') popup.show('slide-in-left', 200);第一次打开会出现闪屏,第二次加载了之后就正常了
- 发布:2023-03-31 16:37
- 更新:2023-03-31 16:37
- 阅读:403
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win11
HBuilderX类型: 正式
HBuilderX版本号: 3.7.8
手机系统: Android
手机系统版本号: Android 12
手机厂商: 小米
手机机型: 小米8
页面类型: nvue
vue版本: vue3
打包方式: 离线
项目创建方式: HBuilderX
操作步骤:
预期结果:
应该不会闪屏
应该不会闪屏
实际结果:
闪屏
闪屏
bug描述:
我给首页(pages/index/index)添加了一个subnvue窗口,名叫user-panel。
最开始首页加载的时候,该页面的所有的subnvue窗口也会一同加载,uniapp 的机制是这样吧?
但是,我是根据本地是否存在token来判断第一屏应该是首页(pages/index/index)还是登录页(pages/login/login),如果没有token,我等到了登录页才手动把启动屏关掉,此时首页和首页的subnvue们已经加载了。
用户登录成功后,我再通过reLaunch跳转回首页,但是奇怪的是,subnvue已经不再自动加载,只有等到代码调用了show才能够加载。
导致的问题,就会出现闪屏,因为只有等subnvue窗口动画结束之后,页面节点才会渲染...