Seguí el tutorial Tour of Heroes y ahora estoy en el proceso de modificar el proyecto. Mi proyecto tendrá muchos relojes y temporizadores, y mi primera tarea es hacer un reloj que muestre la hora UTC. Con MomentModule, puedo mostrar el tiempo de carga de la página con:
<p>{{ myDate | amDateFormat: 'ddd Do HH:mm:ss' }}</p>Sin embargo, no se actualiza cada segundo como yo quiero.
Mi DashboardComponent se ve así:
export class DashboardComponent implements OnInit { heroes: Hero[] =[]; myDate: Date; constructor(private heroService: HeroService) {} ngOnInit(): void { this.heroService.getHeroes() .then(heroes => this.heroes = heroes); this.utcTime(); } utcTime(): void { setInterval(function() { this.myDate = new Date(); console.log(this.myDate); // just testing if it is working }, 1000); } }Entonces, antes que nada, ¿es una buena idea crear una nueva fecha (); ¿cada segundo? De cualquier manera, ¿hay alguna forma de actualizar el tiempo en mi vista cada segundo a través de algo como un observable o similar? Como dije, tendré muchos cronómetros y relojes en mi página cuando esté terminada. ¡Gracias!
Solo necesita usar la función de arrowfunction en lugar de usar una sintaxis de function callback tradicional como se muestra a continuación,
setInterval(() => { //replaced function() by ()=> this.myDate = new Date(); console.log(this.myDate); // just testing if it is working }, 1000);