Fino alla versione 7 di Angular, i decorator ViewChild e ContentChild impostano la variabile che decorano a partire dal metodo ngAfterViewInit della pipeline di esecuzione del component. Questo esempio mostra questo funzionamento.
<h1 #MyDiv>mydiv</h1>
@ViewChild('MyDiv') myDiv: ElementRef<HTMLDivElement>; ngOnInit() { console.log(this.myDiv); // ritorna undefined } ngAfterViewInit() { console.log(this.myDiv); // ritorna div }
A partire da Angular 8, se il tag non è contenuto all'interno di un template con una direttiva strutturale come ngIf e ngFor, allora la variabile decorata è disponibile già nei metodi che vengono eseguiti prima di ngAfterViewInit come mostrato in questo esempio.
ngOnInit() { console.log(this.myDiv); // ritorna div } ngAfterViewInit() { console.log(this.myDiv); // ritorna div }
Se vogliamo mantenere il comportamento precedente ad Angular 8, dobbiamo inserire un secondo parametro nei decorator ViewChild e ContentChild. Questo parametro deve essere un oggetto con la proprietà static impostata a true.
@ViewChild('MyDiv', { static: true }) myDiv: ElementRef<HTMLDivElement>;
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Scrivere selettori CSS più semplici ed efficienti con :is()
Eseguire script pre e post esecuzione di un workflow di GitHub
Recuperare le subissue e il loro stato di completamento in GitHub
Controllare la telemetria con .NET Aspire
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Introduzione ai web component HTML
Gestione ciclo di vita in .NET Aspire
Integrare modelli AI in un workflow di GitHub
Gestire gli errori nelle Promise JavaScript con try()
Gestione CSS in Blazor con .NET 9
I più letti di oggi
- Windows Phone 7: RTM dei tool il 16 settembre, marketplace da ottobre
- Windows Phone SDK 7.1 rilasciato ufficialmente, anche in italiano
- Ondata di novità per Windows Azure
- Rilasciato Entity Framework 4.3
- Windows 8.1 e Visual Studio 2013: date ufficiali e rilascio via MSDN
- Internet Explorer 7.0 disponibile in RTM
- Q# for Quantum Programming, an "only for the brave" session
- Estensioni personalizzate per le pipeline di Azure DevOps e GitHub con .NET 5
- Forzare l'uscita da un ciclo FOR...NEXT
- Scadenza della password in ASP.NET Identity