uni-app使用视频播放组件层级过高会覆盖自定义组件等问题

就简单描述一下吧,官网上说的较多的cover-view、nvue、subNvue、web-view等原生组件,就不做过多描述了,直接上官网看。
利用v-html解决的办法:(本次视频覆盖住了自定义头部就是采取的此种方式)

<view v-html="contentVideo" @click="playVideo(contentVideo)">
data(){
			return {
				contentVideo: `<video :src="${this.myVideoUrl}" style="max-width:100%;"></video>`,
				myVideoUrl:''//存放视频路径的变量
				}
		}

需要动态修改视频路径的时候,在获取视频路径之后,再重新赋值一次contentVideo ,

this.myVideoUrl = this.carouselArr[0].rs0204 || ''//获取视频路径
this.contentVideo =`<video enable-danmu controls src="${this.myVideoUrl}" style="max-width:100%;"></video>`
//拓展一下,这个原生video设置默认封面图,设置poster参数,控制图片大小可以通过设置下面style的样式进行设置宽高
this.contentVideo =`<video enable-danmu controls src="${this.myVideoUrl}" style="width:100%;height: 183px;" poster="${this.carouselArr[0].rs0207}"></video>`

再说一下plus.nativeObj.View
(比如说要在视频表面展示一个覆盖样式)

<template>
	<view></view>
</template>
data() {
	return {
		view:null//指定需要定义的样式标签
	};
},
methods: {
		// 创建一个样式
		create() {
			// #ifdef APP-PLUS
			this.view = new plus.nativeObj.View('bottom-btn', {
					bottom: '0px',
					left: '0px',
					height: '45px',
					width: '100%',
					backgroundColor: '#1682e7'
				},
				[{
					tag: 'font',
					id: 'font',
					text: '播放',
					textStyles: {
						size: '15px',
						color: '#ffffff'
					}
				}]);

        // 监听点击事件
		this.view.addEventListener("click", () => {
			console.log('点击了按钮')
		}, false);
				
		// 显示按钮
		this.show()
		// #endif
	}, 
	// 释放 关闭页面必须释放控件
	close() {
		this.view.close()
		this.view = null
	},
	// 显示按钮
	show() {
		if (!this.view) {
			this.create()
			return
		}
		this.view.show();
		},
	// 隐藏按钮
	hide() {
		this.view && this.view.hide()
	}
},
onShow() {
	this.show()
},
onHide() {
	this.hide()
},
onUnload() {
	this.close()
}
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值