在uniapp中nvue页面<video id="myVideo1" :src="url" @loadedmetadata="getFirstFrame"></video> uni.createSelectorQuery().select('#myVideo1').fields({ node: true, size: true }).exec((res) => {const canvas = uni.createCanvasContext('canvas', this); const video = res[0];video.addEventListener('loadeddata', () => {报Uncaught TypeError: video.addEventListener is not a function
时间: 2024-03-21 22:43:53 浏览: 90
uniappNvueVideo:这是开源的nvue视频项目
根据你提供的代码,我看到你在使用uni-app中的nvue页面来加载视频,并且在视频加载完成后获取视频的第一帧。然而,你在使用`video`元素时,尝试为其添加事件监听器,但是出现了`video.addEventListener is not a function`的报错。
这个问题可能是由于`video`元素没有被正确地加载或者没有被正确地获取所导致的。你可以尝试在`uni.createSelectorQuery().select('#myVideo1')`方法中添加一个`.in(this)`,来确保在回调函数中`this`指向当前组件。例如:
```
uni.createSelectorQuery().select('#myVideo1').in(this).fields({ node: true, size: true }).exec((res) => {
const canvas = uni.createCanvasContext('canvas', this);
const video = res[0].node;
video.addEventListener('loadeddata', () => {
// 在视频加载完成后执行的代码
});
});
```
这样,你就可以使用`video`元素的方法和属性了,包括添加事件监听器。希望能帮到你!
阅读全文