Nelle pagine web è ormai consuetudine inserire molti anchor tag, i quali fungono come puntatori a una specifica parte della pagina, per facilitarne la navigazione suddividendola in paragrafi o aree tematiche. Ma come è possibile ottenere lo stesso effetto all'interno di un framework come Angular nel quale la navigazione è gestita dal RouterModule?
Come primo step dobbiamo abilitare queste opzioni nel momento in cui inseriamo il modulo tra gli imports.
const options: ExtraOptions = {
// permette al sistema di ricordare la posizione della pagina al momento della navigazione
scrollPositionRestoration: 'enabled',
anchorScrolling: 'enabled',
// specifico uno spazio di offset a seguito della navigazione
scrollOffset: [0, 30],
};
[...]
imports: [
[...],
RouterModule.forRoot(routes, routerOptions)
]Con questo setup si potranno generare degli anchor interattivi, che a seguito di un click permetteranno alla pagina di muoversi alla sezione corrispondente.
<a [routerLink]="" [fragment]="sezione-a">{{link}}</a>[...]
<div class="section" id="sezione-a">
Operazione possibile anche utilizzando il metodo navigate dell'istanza Router
import { Router } from '@angular/router';
constructor(private router: Router){}
navigate(){
this.router.navigate(['/'], { fragment: 'sezione-a' });
}Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Implementare il throttle in JavaScript
Utilizzare WhenEach per processare i risultati di una lista di task
Creare agenti facilmente con Azure AI Agent Service
Proteggere l'endpoint dell'agente A2A delle Logic App
Importare un servizio esterno in .NET Aspire
Raggruppare risorse in .NET Aspire
Anonimizzare i dati sensibili nei log di Azure Front Door
Utilizzare l nesting nativo dei CSS
Ridurre il reflow ottimizzando il CSS
Definire il colore di una scrollbar HTML tramite CSS
Gestione delle scrollbar dinamiche in HTML e CSS
Utilizzare i variable font nel CSS


