uniapp使用nvue时,.hide()方法无法关闭子窗口

使用uniapp开发app,由于首页有视频列表播放视频,用到了video标签,可是video的层级过高,导致弹框都被遮挡,使用nvue解决弹框被遮挡的问题却又遇到了.hide()方法只能关闭遮罩,无法关闭子窗口的问题,业务需求如下:

app底部有两个tabbar,每个tabbar的导航栏都需要加个退出按钮,点击退出按钮弹框退出或者取消,点击退出返回登陆页,点击取消隐藏弹窗

uniapp使用nvue时,.hide()方法无法关闭子窗口_第1张图片

问题:

点击取消只能隐藏遮罩但无法关闭子窗口

解决:

pages.json

"subNVues": [{
						"id": "popover2", // 唯一标识  
						"path": "pages/warning/logout", // 页面路径  
						"type": "popup",
						"style": {
							"position": "absolute",
							"bottom": "0rpx",
							// "dock": "right",
							"width": "100%",
							"height": "200rpx"
						}
					}],

每个页面都需要配置subNVues,且id要不一样

点击取消关闭弹窗代码如下:

				uni.getSubNVueById('popover1').hide();
				// 获取所有Webview窗口
				var wvs = plus.webview.all();
				for (var i = 0; i < wvs.length; i++) {
					if (wvs[i].id.indexOf('popover') != -1) {
						wvs[i].hide()
					}
				}

获取所有webview对象只要包含id关键字的,都给关一遍,总算是解决了问题,不明觉厉

你可能感兴趣的:(uni-app,vue.js,前端)