uniapp视频组件层级太高,解决方法使用subNvue原生子体窗口

news2025/1/19 23:26:18

目录

前言

先看一下uniapp官网的原话:

subNvue的一些参数介绍

subNvues使用方法:

绑定id 显示 subNvue 弹出层

subNvue.show() 参数信息

subNvue.hide() 参数信息

在使用subNvue 原生子体窗口 遇到的一些问题


前言

nvue 兼容性 以及使用方式

  1. 控制隐藏显示 不能使用v-show 只能用v-if  如果想要实现隐藏时占位,可以用css 属性值隐藏显示 visibility:visible;显示  visibility:hidden;隐藏,第二种就是display: block;显示 display: none;隐藏。
  2. nvue 只能使用flex 布局 。
  3. 文字内容必须用text包裹住 不能在div 或者view 里面直接写文字 否则即使渲染了,也无法绑定 js 里的变量。
  4. 布局不能使用百分比、没有媒体查询。如果想要全屏展示 宽度直接设置750rpx,高度想要沾满全屏可以使用 系统信息
     uni.getSystemInfo({
    	success: (info) => {
    		// 设置屏幕高度
    		this.screenHeight = info.windowHeight;
    	}
    })
    
  5. nvue 不支持背景图 就是 background-image: url('../.././image/45.png')
  6. nvue 的各组件在安卓端默认是透明的,如果不设置background-color,可能会导致出现重影的问题。(注意在pages.json文件里subNVues数组里面 必须也设置上"mask":"rgba(0,0,0,0)", 要两个同时设置才不会出现重影的问题)。
     
  7. nvue 不支持 css 预处理器,css选择器也不要用, 也有许多样式不支持会提示。
     

官网链接:nvue介绍 | uni-app官网

先看一下uniapp官网的原话:

subNvue,是 vue 页面的原生子窗体,把weex渲染的原生界面当做 vue 页面的子窗体覆盖在页面上。它不是全屏页面,它给App平台vue页面中的层级覆盖和原生界面自定义提供了更强大和灵活的解决方案。它也不是组件,就是一个原生子窗体。

官网链接:uni-app官网

subNvue的一些参数介绍

subNvue的 id是全局唯一的,不能重复。后面需要用 uni.getSubNVueById(id名称) 来获取id

subNvue的 path 只能是nvue 文件路径 其他的不行。

subNvue的 type 可取值:'popup' 和 'navigationBar'。

subNvue的 style 样式属性

subNvues使用方法:

在pages.json中的 app-plus 下  使用具体如下 看图

绑定id 显示 subNvue 弹出层

在pages.json 文件中 配置好以后

在你引入 .nvue 的 主页面中 使用 uni.getSubNVueById(id) 绑定 你之前的id

再使用 subNVue.show() 显示弹出层。看图

subNvue.show() 参数信息

show()这里面有三个参数 

你们也看到了我这里加了一个延时器 0.5秒 执行!如果我不加这个延时器,直接让他在页面渲染完成后执行,是不显示弹出层的!目前还不知道什么原因导致。

subNvue.hide() 参数信息

subNVue.hide('slide-out-left',200);
在使用subNvue 原生子体窗口 遇到的一些问题

解决重影问题

nvue 的各组件在安卓端默认是透明的,如果不设置background-color,可能会导致出现重影的问题

原生子窗体的遮罩层,仅当原生子窗体 "type" 属性值设置为 "popup" 时才生效,可取值: rgba格式字符串,定义纯色遮罩层样式,如"rgba(0,0,0,0.5)",表示黑色半透明;

一开始 我没设置 type 他是有一层 黑色半透明背景 之后我加了"rgba(0,0,0,0.0)"  我把透明度改成0.0也不行,后来上网查寻 必须和 mask 同时使用, 才能彻底生效

"mask":"rgba(0,0,0,0)",
"background": "rgba(0,0,0,0)" 

性能

官网上说  原生子体窗口 一个页面引入三个就行,太多会因引起 卡顿 或者性能问题。

安卓系统上物理键返回,subnvue会关闭。

解决:

created() {
			//安卓系统上物理键返回,subnvue会关闭,用一下方法禁用 里面还可以编写逻辑?
			plus.key.addEventListener("backbutton", function() {
				console.log('backbutton');
			});
		},

 在APP 端禁止触摸 某一个区域

因为某种原因 要禁止用户触摸,@touchmove.stop.prevent 加上以后view 里面所有的 都触摸不到!

<view @touchmove.stop.prevent><view/>

查看版本信息 这个代码只在APP 端有用

const version = plus.runtime.version;//获取当前版本 在APP端显示

h5 出现视频加载慢 或者卡顿 可以用

<link rel="preload" href="视频路径" as="video">

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1801753.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

11-Linux文件系统与日志分析

11.1深入理解Linux文件系统 在处理Liunx系统出现故障时&#xff0c;故障的症状是最易发现。数学LInux系统中常见的日志文件&#xff0c;可以帮助管理员快速定位故障点&#xff0c;并及时解决各种系统问题。 11.1.1 inode与block详解 文件系统通常会将这两部分内容分别存放在…

刷代码随想录有感(96):贪心算法——小于目标数且是最大的单调递增的数字

题干&#xff1a; 代码&#xff1a; class Solution { public:int monotoneIncreasingDigits(int n) {string s to_string(n);int flag s.size();for(int i s.size() - 1; i > 0; i--){if(s[i - 1] > s[i]){s[i - 1]--;flag i;}}for(int i flag; i < s.size(); …

js 选择一个音频文件,绘制音频的波形,从右向左逐渐前进。

选择一个音频文件&#xff0c;绘制波形&#xff0c;从右向左逐渐前进。 完整代码&#xff1a; <template><div><input type"file" change"handleFileChange" accept"audio/*" /><button click"stopPlayback" :…

无延迟,持续畅玩 - Wi-Fi 6 助力打造游戏厅极致体验

1、需求背景&#xff1a; 连锁游戏厅行业竞争激烈&#xff0c;顾客对高品质的游戏体验有着高要求。网络是游戏厅的核心基础设施之一&#xff0c;需要确保游戏过程中的网络连接稳定性和顾客满意度。 长时间稳定连接 为保证顾客的游戏体验感&#xff0c;游戏厅要确保网络连接长…

SpringBoot实现参数校验拦截(采用AOP方式)

一、AOP是什么&#xff1f; 目的&#xff1a;分离横切关注点&#xff08;如日志记录、事务管理&#xff09;与核心业务逻辑。 优势&#xff1a;提高代码的可读性和可维护性。 关键概念 切面&#xff08;Aspect&#xff09;&#xff1a;包含横切关注点代码的模块。通知&#xff…

vscode编译c/c++找不到jni.h文件

解决办法: 一、下载JDK 访问Oracle官网的Java下载页面&#xff1a;Java Downloads | Oracle 选择适合您操作系统的JDK版本&#xff1a; 对于Windows&#xff0c;选择“Windows x64”或“Windows x86”&#xff08;取决于您的系统是64位还是32位&#xff09;。对于Linux&#…

STM32 HAL库开发——入门篇(3):OLED、LCD

源自正点原子视频教程&#xff1a; 【正点原子】手把手教你学STM32 HAL库开发全集【真人出镜】STM32入门教学视频教程 单片机 嵌入式_哔哩哔哩_bilibili 一、OLED 二、内存保护&#xff08;MPU&#xff09;实验 2.1 内存保护单元 三、LCD 3.1 显示屏分类 3.2 LCD简介 3.3 LCD…

基于Seatunnel最新2.3.5版本分布式集群安装部署指南(小白版)

基于Seatunnel2.3.5版本分布式集群安装部署 1.环境准备2.JDK安装3.Maven安装4.Seatunnel在master节点安装部署配置4.1.下载Seatunnel安装包4.2.解压下载好的tar.gz包4.3.下载连接器4.4.配置Seatunnel的系统环境变量4.5.配置 SeaTunnel Engine服务 JVM参数4.6.配置文件中集群相关…

阅读笔记——《AFLNET: A Greybox Fuzzer for Network Protocols》

【参考文献】Pham V T, Bhme M, Roychoudhury A. Aflnet: a greybox fuzzer for network protocols[C]//2020 IEEE 13th International Conference on Software Testing, Validation and Verification (ICST). IEEE, 2020: 460-465.【注】本文仅为作者个人学习笔记&#xff0c;…

socket通信(C语言+Python)

在socket文件夹下创建server.c和client.c。 服务端代码&#xff08;server.c&#xff09;&#xff1a; #include <stdio.h> #include <Winsock2.h> void main() {WORD wVersionRequested;WSADATA wsaData;int err;wVersionRequested MAKEWORD( 1, 1 );err WSAS…

单片机原理及技术(三)—— AT89S51单片机(二)(C51编程)

一、AT89S51单片机的并行I/O端口 1.1 P0口 AT89S51的P0口是一个通用的I/O口&#xff0c;可以用于输入和输出。每个引脚都可以通过软件控制为输入或输出模式。 1.1.1 P0口的工作原理 P0口的工作原理是通过对P0寄存器的读写操作来控制P0口的引脚。 输出模式&#xff1a;当P0口…

从大到小吗?-分支c++

题目描述 给出 4 个整数&#xff0c;a , b , c , d 。 判断这四个数字是否满足从大到小。 输入 输入 4 个整数&#xff0c;a , b , c , d 。 输出 输出 Yes 或者 No 。 样例输入 4 3 2 1 样例输出 Yes 提示 分析&#xff1a; 这道题十分的简单&#xff0c;只需判断…

技术管理之巅—如何从零打造高质效互联网技术团队阅读体验

技术管理之巅—如何从零打造高质效互联网技术团队 《技术管理之巅&#xff1a;如何从零打造高质效互联网技术团队》是黄哲铿所著的一本书&#xff0c;致力于帮助技术管理者从零开始打造高效的互联网技术团队。该书分为多个章节&#xff0c;分别探讨了从团队文化建设到技术架构…

【Redis】 Redis 集成到 Spring Boot上面

文章目录 &#x1f343;前言&#x1f384;Spring Boot连接redis客户端&#x1f6a9;项目的创建&#x1f6a9;配置端⼝转发&#x1f6a9;配置 redis 服务地址&#x1f6a9;更改 Redis 配置文件&#x1f6a9;使用 StringRedisTemplate 类操作 &#x1f38d;Spring Boot操作Redis客…

SAP HCM HR_PAD_HIRE_EMPLOYEE 自定义信息类型字段保存问题

导读 INTRODUCTION SAP HCM入职程序&#xff1a;SAP HCM入职程序有两个一个是HR_PAD_HIRE_EMPLOYEE一个是HR_MAINTAIN_MASTERDATA&#xff0c;前面的函数是SAP为新框架开发的&#xff0c;后面函数是旧的逻辑&#xff0c;这两个函数的在于底层的结构不一致&#xff0c;对于自定…

应用matplotlib.animation.FuncAnimation绘制摆线

上次尝试了用matplotlib.animation.ArtistAnimation绘制摆线&#xff0c;实际上也可以用matplotlib.animation.FuncAnimation实现同样的功能。 导入相关文件 引用的库包括numpy&#xff0c;matplotlib&#xff0c;代码如下&#xff1a; import numpy as np import matplotli…

【启程Golang之旅】让文件操作变得简单

欢迎来到Golang的世界&#xff01;在当今快节奏的软件开发领域&#xff0c;选择一种高效、简洁的编程语言至关重要。而在这方面&#xff0c;Golang&#xff08;又称Go&#xff09;无疑是一个备受瞩目的选择。在本文中&#xff0c;带领您探索Golang的世界&#xff0c;一步步地了…

Spring Boot集成pmd插件快速入门Demo

1.什么是pmd插件&#xff1f; PMD 插件允许您在项目的源代码上自动运行PMD代码分析工具&#xff0c;并生成带有其结果的站点报告。它还支持与 PMD 一起分发的单独的复制/粘贴检测器工具&#xff08;或 CPD&#xff09;。 此版本的 Maven PMD 插件使用 PMD 6.42.0 并且需要 Jav…

新增FTP功能、支持添加Redis远程数据库,专业版新增网站监控和黑金主题,1Panel开源面板v1.10.10版本发布

2024年6月7日&#xff0c;现代化、开源的Linux服务器运维管理面板1Panel发布v1.10.10版本。 在这一版本中&#xff0c;1Panel新增了多项实用功能。社区版方面&#xff0c;新增了FTP功能、支持添加Redis远程数据库、支持设置压缩密码&#xff0c;并新增了清理镜像构建缓存的功能…

从 Android 恢复已删除的备份录

本文介绍了几种在 Android 上恢复丢失和删除的短信的方法。这些方法都不能保证一定成功&#xff0c;但您可能能够恢复一些短信或其中存储的文件。 首先要尝试什么 首先&#xff0c;尝试保留数据。如果你刚刚删除了信息&#xff0c;请立即将手机置于飞行模式&#xff0c;方法是…