- Intro
- Introduzione al concetto di SPA
- Installazione delle dipendenze progettuali (NodeJS / NPM ed Angular CLI)
- Analisi di un progetto Angular
- Istanza di un nuovo progetto ed uso del webserver di sviluppo integrato
- Disamina del modulo principale (AppModule) / Cenni sui decorator in TypeScript
- I componenti
- Il componente principale: AppComponent
- Creare i componenti da riga di comando
- Binding unidirezionali: interpolazione
- Binding unidirezionali: event binding e creazione di eventi personalizzati (EventEmitter)
- Binding unidirezionali: property binding
- Ciclo di vita dei componenti e delle direttive (fondamentali)
i. ngOnChanges
ii. ngOnInit
iii. ngDoCheck
iv. ngOnDestroy
- Le direttive
- Differenza tra direttive strutturali e direttive attributo
- Le direttive strutturali integrate in Angular: ngIf ed ngFor
- Creazione di una direttiva da riga di comando
- Analisi e realizzazione di una direttiva attributo
- Form
- Differenze tra le tecnologie Template e Reactive
- Realizzazione di un Template Driven Form
i. Binding bidirezionale: two way data binding
ii. Gestione dei dati
iii. Validazione del form
iv. Visualizzazione dei messaggi di errore
- Realizzazione di un Reactive Driven Form
i. Gli oggetti FormGroup e FormControl
ii. Gestione dei dati
iii. Validazione del form
iv. Visualizzazione dei messaggi di errore
v. Creazione di regole di validazione personalizzate
- Direttive di validazione per i Template Driven Form
i. Creazione di una direttiva di validazione
ii. Come creare regole di validazione personalizzate facilmente riutilizzabili
- Routing – Parte 1
- Configurazione del Router
- Creazione dei link di navigazione ed uso del selettore router-outlet
- Recupero dei parametri
- Servizi
- Studio del pattern Dependency Injection
- I servizi nelle applicazioni a singolo modulo
- Differenze tra l’uso dell’array “providers” di un modulo ed il decorator Injectable
- HTTP
- Il servizio HTTPClient
- Studio degli Observable in ReactiveX
- Definizione delle interfacce per la prototipizzazione delle risposte
- Conversione della risposta in un Model
- Uso dei dati recuperati nei componenti
- Router – Parte 2
- Protezione dei percorsi mediante le Guard
- Gestione Modulare
- Approccio modulare Eager Loading
- Approccio modulare Lazy Loading
- Gestione del Router nello sviluppo a più moduli
- Il metodo statico forChild