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配置和使用方式导致的。以下是关键点分析:

  1. 自动加载问题: 由于你在pages.json中配置了subNVue但没有正确控制显示,导致页面加载时就自动创建了子窗体。建议在onReady生命周期中手动控制显示。

  2. 报错原因分析: "nvue of null"错误通常是因为在subNvue组件初始化时访问了尚未准备好的上下文对象。在vue3中,setup函数执行时可能DOM还未完全初始化。

  3. 解决方案: 修改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)
回到顶部