surmon-china / videojs-player

@videojs player component for @vuejs(3) and React.
https://github.surmon.me/videojs-player
MIT License
5.24k stars 1.13k forks source link

nuxt v-for #52

Open transtone opened 7 years ago

transtone commented 7 years ago

在nuxt后端渲染的 v-for 循环中,只显示第一个 video ,后面出来的都是空的。

<div v-for="item in items">
         <div class="video-player-box" v-video-player:myVideoPlayer="item.playerOptions">
         </div>
</div>
surmon-china commented 7 years ago

myVideoPlayer是所对应需要实例化的播放器对象的名称,不能重复,很显然,v-for重复了

transtone commented 7 years ago

谢谢回复。那我需要从后台加载多个播放源,如何解决呢? myVideoPlayer 可以改成动态的吗,如何改?

surmon-china commented 7 years ago

先尝试使用<div class="video-player-box" v-video-player:[myVideoPlayer]="item.playerOptions">类似这样的方式去替换测试,如若不行,我再测试

surmon-china commented 7 years ago

问题已修复,需升级到 v3.0.6,在你的项目中使用playerInstanceName强制使用指定实例名,如下:

<div v-for="(item, index) in items">
  <div class="video-player-box" :playerInstanceName="`player${index}`" v-video-player="item.playerOptions"></div>
</div>

原有的使用方式均不受影响。 在nuxt.js中,实例别名的优先级为:playerInstanceName > directive.arg > default:'player'

transtone commented 7 years ago

ok, 解决了,感谢。

Ice-Hazymoon commented 5 years ago

"PlayerInstanceName" doesn't work

Nickywrx commented 4 years ago

下载4.0.0版本才行

EvilVarmilo commented 3 years ago

v5.0.2 PlayerInstanceName不起作用