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
Le novità di Angular: i miglioramenti alla CLI
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Definire stili a livello di libreria in Angular
Aggiornare a .NET 9 su Azure App Service
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Eseguire script pre e post esecuzione di un workflow di GitHub
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
Creare una libreria CSS universale: i bottoni
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Paginare i risultati con QuickGrid in Blazor