Elemento live timer
Abbiamo già un elemento <time-formatted> per mostrare un orario formattato.
Create un elemento <live-timer> per mostrare lâorario corrente con queste specifiche:
- Internamente dovrebbe usare
<time-formatted>, senza duplicarne la funzionalità . - Un tick (aggiornamento) ogni secondo.
- Per ogni tick, deve essere generato un evento personalizzato chiamato
tick, con la data corrente dentroevent.detail(guardare il capitolo Dispatching di eventi personalizzati).
Uso:
<live-timer id="elem"></live-timer>
<script>
elem.addEventListener('tick', event => console.log(event.detail));
</script>
Demo:
Nota bene:
- Quando rimuoviamo lâelemento dal documento, eseguiamo il clear di
setIntervalper il timer. à importante, altrimenti continuerà a ticchettare anche se non più necessario. Inoltre il browser avendo ancora un riferimento ad esso, non sarà in grado di pulire la sua memoria. - Deve essere possibile accedere alla data corrente tramite la proprietÃ
elem.date. Tutti i metodi della classe e le relative proprietà devono anche essere metodi e proprietà dellâelemento.