hellodigua / vue-danmaku

基于 Vue 的弹幕交互组件 | A danmaku component for Vue
https://hellodigua.github.io/vue-danmaku
MIT License
620 stars 60 forks source link

Nuxt3使用ref报错 #50

Closed qq651901286 closed 1 year ago

qq651901286 commented 1 year ago

Nuxt3使用ref报错

setup() { const danmakuRef = ref(null)

danmakuRef.value.play() } 大佬可以帮忙看看嘛

qq651901286 commented 1 year ago

问题已解决,在 nextTick(()=>{ console.log(danmakuRef.value) })调用

image

但是Nuxt存在一个问题就是,第二次进入该页面时,没有显示弹幕 项目地址 https://gitee.com/qq651901286/qixiao_blog_nuxt3.git

hellodigua commented 1 year ago

在 danmakuRef.value.play() 前面 加一行 danmakuRef.value.stop() 试试?

qq651901286 commented 1 year ago

不太行

hellodigua commented 1 year ago

你的那个页面,刚进入的时候组件获取到的容器宽度是0,所以没展示,得延迟一点时间,然后重新获取宽度后播放

onMounted(() => {
  nextTick(() => {
    setTimeout(() => {
      danmakuRef.value.resize();
      danmakuRef.value.play();
    }, 100);
  });
});