Tengo una etiqueta div con enlace de enrutador. Al hacer clic en la etiqueta div, debería navegar a otra página. También estoy usando el enrutador Resolve para obtener datos antes de que se active el enrutador.
{ path: 'conversation/:id', component: InboxDetailComponent, resolve: { conversation: InboxConversationResolver }}Así es como aparece la etiqueta div.
<div class="list-group-item" *ngFor="let conversation of conversations; let j = index;" [routerLink]="['/app/inbox/detail',conversation.items[0].id]"></div>Todo funciona bien excepto una cosa. Al hacer clic en la etiqueta div, la página se desplaza hacia arriba antes de navegar a otra página. ¿Cómo arreglar esto?
Tuve exactamente el mismo problema, pero luego recordé que implementé lo siguiente en el constructor de mi app.component:
this.router.events.subscribe( () => window.scrollTo(0, 0) );Todo lo que tenía que hacer era esperar el evento NavigationEnd, en lugar de desplazarme hasta la parte superior del primer evento que apareció. Así que lo implementé así:
this.router.events.subscribe((evt) => { if (!(evt instanceof NavigationEnd)) { return; } window.scrollTo(0, 0); });