subNvue原生子窗体在uni-app中一直报这个错误是咋回事还有子窗体会自动加载
subNvue原生子窗体在uni-app中一直报这个错误是咋回事还有子窗体会自动加载
项目信息 | 详细信息 |
---|---|
产品分类 | uniapp/App |
PC开发环境 | Windows |
PC系统版本 | Windows 10 专业版 2009 |
HBuilderX类型 | 正式 |
HBuilderX版本 | 4.65 |
手机系统 | Android |
手机系统版本 | Android 13 |
手机厂商 | 小米 |
手机机型 | Redmi Note 11 5g |
页面类型 | nvue |
Vue版本 | vue3 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
操作步骤:
pages.json配置内容
"app-plus": {
"subNVues":[{
"id": "navid", // 唯一标识
"path": "pages/index-test/subNvue/nav", // 页面路径
// "type": "navigationBar",
"style": {
"position": "dock",
"dock": "top",
"top": "0px",
"bottom": "0px",
"width": "100%",
"height": "200px",
"background": "transparent"
},
"show": false
}]
}
预期结果:
vue页通过subNVue.show() 打开
实际结果:
vue页直接打开子窗体了,并且报以下错误
22:51:17.089 [Vue warn]: Unhandled error during execution of setup function
at <Nav pageId=NaN pagePath="pages/index-test/subNvue/nav"__pageQuery={}>
22:51:17.089 TypeError: Cannot set property 'nvue' of null
bug描述:
22:51:17.089 [Vue warn]: Unhandled error during execution of setup function
at <Nav pageId=NaN pagePath="pages/index-test/subNvue/nav"__pageQuery={}>
22:51:17.089 TypeError: Cannot set property 'nvue' of null
配置好以后,每次都报这个错误,而且会自动加载
更多关于subNvue原生子窗体在uni-app中一直报这个错误是咋回事还有子窗体会自动加载的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于subNvue原生子窗体在uni-app中一直报这个错误是咋回事还有子窗体会自动加载的实战教程也可以访问 https://www.itying.com/category-93-b0.html
根据你提供的信息,这个问题主要是subNvue配置和使用方式导致的。以下是关键点分析:
-
自动加载问题: 由于你在pages.json中配置了subNVue但没有正确控制显示,导致页面加载时就自动创建了子窗体。建议在onReady生命周期中手动控制显示。
-
报错原因分析: "nvue of null"错误通常是因为在subNvue组件初始化时访问了尚未准备好的上下文对象。在vue3中,setup函数执行时可能DOM还未完全初始化。
-
解决方案: 修改pages.json配置,确保show为false:
"subNVues": [{
"id": "navid",
"path": "pages/index-test/subNvue/nav",
"style": {
"position": "dock",
"dock": "top",
"height": "200px",
"background": "transparent"
},
"show": false
}]
然后在页面中通过API控制显示:
const subNVue = uni.getSubNVueById('navid')
subNVue.show('slide-in-top', 300)