uni-app vue3自定义video作为子窗体嵌入页面 无法调用API
uni-app vue3自定义video作为子窗体嵌入页面 无法调用API
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | 10.0.19044 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
HBuilderX类型:正式
HBuilderX版本号:3.4.7
手机系统:Android
手机系统版本号:Android 10
手机厂商:华为
手机机型:华为Mate40 pro
页面类型:vue
vue版本:vue3
打包方式:云端
项目创建方式:HBuilderX
示例代码:
示例代码:
```html
<video id="myVideo" ref="myVideo" class="video" :poster="mainImg" :src="videoUrl"
:controls="false" :show-fullscreen-btn="false" :show-center-play-btn="false" :show-progress="false"
@ended="nextPlay" @timeupdate="processUpdate">
<cover-view class="controls-top row" v-if="showControls">
<text class="iconfont" [@click](/user/click).stop="backHandle"></text>
<text class="title">{{title}}</text>
</cover-view>
<cover-view class="controls-center center" [@click](/user/click)="showHideConterols">
<text v-if="showControls && !play" class="iconfont stop" [@click](/user/click).stop="playVideo"></text>
<text v-if="showControls && play" class="iconfont stop" [@click](/user/click).stop="playVideo"></text>
</cover-view>
</video>
<script>
onReady() {
this.videoContext = uni.createVideoContext('myVideo', this)
},
playVideo() {
if (!this.videoContext) return
if (this.play) { //暂停
this.videoContext.pause()
} else { //播放
this.videoContext.play()
//隐藏控制按钮
this.showHideConterols()
}
this.play = !this.play
},
</script>
page.json配置界面
"path": "pages/course/course-play",
"style": {
"navigationBarTitleText": "",
"navigationBarTextStyle": "black",
"app-plus": {
"titleNView": false,
"subNVues": [
{
"id": "topVideo",
"path": "pages/course/subNVue/app-video",
"style": {
"position": "dock",
"dock": "top",
"width": "100%",
"height": "420px"
}
}
]
}
}
2 回复
解决了吗