uniapp视频组件层级太高,解决方法使用subNvue原生子体窗口
在uniapp中,如果你遇到视频组件(比如 <video>
标签)的层级太高,无法被其他组件遮挡的问题,可以尝试使用subNvue原生子窗口来解决。
subNvue是uni-app为了解决原生子窗口通讯、功能扩展等问题,而推出的一种新型页面。它具有以下特性:
- 支持原生所有能力,包括原生插件。
- 支持通过subNVue.postMessageInMainSendToSubNVue和subNVue.onMessageInMainListenToSubNVue与主页面通讯。
解决方法:
- 创建一个subNvue页面,在这个页面中放置你的
<video>
标签。 - 在主页面中通过subNVue组件来嵌入subNvue页面。
- 使用subNVue组件的样式调整,确保video组件不会遮挡其他内容。
示例代码:
subNvue页面(sub.nvue):
<template>
<view>
<video src="your-video-url.mp4" controls="true"></video>
</view>
</template>
主页面(index.vue):
<template>
<view>
<sub-nvue src="sub.nvue" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></sub-nvue>
<!-- 其他内容 -->
</view>
</template>
在这个例子中,subNvue页面中的video组件将会被嵌入到主页面中,并且由于subNvue是独立的窗口,它的内容不会影响到主页面中其他组件的层级。
评论已关闭