En Vue (3), ¿cómo puedo recargar los videojs?
Tengo el siguiente código:
<template> <video-js controls="true" preload="auto" ref="video_player" class="video-js vjs-big-play-centered"> </video-js> </template> <script> import videojs from 'video.js' export default { data() { return { player: null }; }, mounted() { const element = this.$refs.video_player; console.log(element); this.player = videojs(element, { fluid: true, responsive: true, playbackRates: [0.5, 1, 1.5, 2], sources: [ { src: 'url', type: 'application/x-mpegURL' }] }) </script>La primera vez que llamo al componente funciona.
La segunda vez, debido a que la URL es la misma (cambie solo la ID de parámetro), el componente se reutiliza. Necesito forzar la recarga del componente porque videojs en el método de eliminación destruye el dom.
Entonces, ¿cómo puedo reutilizar el reproductor de video con vue js o forzar que el componente se vuelva a renderizar (así que llamo nuevamente a crear y montar)?
Gracias
Llamemos a su componente videoComponent
<VideoComponent></VideoComponent>
Puede agregar un atributo clave a su componente.
Gracias a eso, se volverá a renderizar cuando se cambie la clave.
<VideoComponent :key="someUniqueParamId"></VideoComponent>