Elemento reloj dinámico
Ya tenemos un elemento <time-formatted>
para mostrar la hora agradablemente formateada.
Crea el elemento <live-timer>
para mostrar la hora actual:
- Internamente debe usar
<time-formatted>
, no duplicar su funcionalidad. - Aactualiza (¡tic!) cada segundo.
- Por cada tic, se debe generar un evento personalizado llamado
tick
con la fecha actual enevent.detail
(ver artículo Envío de eventos personalizados).
Uso:
<live-timer id="elem"></live-timer>
<script>
elem.addEventListener('tick', event => console.log(event.detail));
</script>
Demo:
Por favor ten en cuenta:
- Borramos el temporizador
setInterval
cuando el elemento es quitado del documento. Esto es importante, de otro modo continuará ejecutando aunque no se lo necesite más, y el navegador no puede liberar la memoria asignada a este elemento. - Podemos acceder a la fecha actual con la propiedad
elem.date
. Todos los métodos y propiedades de clase son naturalmente métodos y propiedades del elemento.