regresar a la lección

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:

  1. Internamente debe usar <time-formatted>, no duplicar su funcionalidad.
  2. Aactualiza (¡tic!) cada segundo.
  3. Por cada tic, se debe generar un evento personalizado llamado tick con la fecha actual en event.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:

Abrir un entorno controlado para la tarea.

Por favor ten en cuenta:

  1. 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.
  2. 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.

Abrir la solución en un entorno controlado.