Nello script #157 abbiamo visto come poter gestire il routing con AngularJS, così da sfruttare meglio anche la history del browser.
In particolare, il nostro obiettivo è quello di verificare i parametri della route, per evitare che una route risponda se i valori dei parametri specificati non dovessero essere congrui.
Per implementare questo scenario, dobbiamo affidarci alla proprietà resolve: si tratta di una proprietà che può contenere una o più promise che devono essere risolte con successo prima che il cambio di route venga confermato. Questo consente anche di aspettare che la condizione si verifichi prima di caricare la view, consentendo di caricare questi dati in seguito a richieste a risorse remote.
mmyApp.config(['$routeProvider', function($routeProvider) { $routeProvider. when('/details/:Id', { templateUrl: 'views/orders/detail.html', controller: 'OrderDetailController', resolve: { id: function ($q, $route) { var deferred = $q.defer(), id = parseInt($route.current.params.id, 10); if (!isNaN(id)) { deferred.resolve(id); } else { deferred.reject('Id not a number'); } return deferred.promise; } } }); });
Grazie all'uso del deferred, la promise aspetterà l'esecuzione del codice (anche asincrono) e provvederà a valorizzare i rispettivi parametri di route solo se le condizioni espresse vengono verificate con successo.
Per approfondimenti:
Gestione del routing con AngularJS
https://www.html5italia.com/script/157/Gestione-Routing-AngularJS.aspx
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Creare una libreria CSS universale: Clip-path
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Centralizzare gli endpoint AI Foundry con Azure API Management
Eseguire query in contemporanea con EF
Utilizzare Hybrid Cache in .NET 9
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Gestire progetti NPM in .NET Aspire
Gestione dei nomi con le regole @layer in CSS
Simulare Azure Cosmos DB in locale con Docker
Supportare la crittografia di ASP.NET Core con Azure Container App
Utilizzare Intersect e Except per filtrare set di dati in TSql
Recuperare App Service cancellati su Azure
I più letti di oggi
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Documentare i servizi REST con Swagger e OpenAPI con .NET 9
- Impersonation di utente per l'esecuzione di codice in una pagina ASP.NET
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!