Le framework Angular est un framework complet qui permet d'écrire un site entier avec le langage JavaScript. Il fournit un ensemble de librairies permettant de gérer entièrement le front-end. Il fournit des méthodes qui remplacent celles du langage JavaScript afin d'obtenir une syntaxe complète. Ainsi, la méthode "document.getElementById", qui permet de sélectionner un élément du DOM en fonction de son identifiant, a son équivalent dans le framework.

Pour pouvoir manipuler un élément, il faut tout d'abord lui donner un identifiant lorsqu'on le crée avec le framework. C'est possible en utilisant le caractère "#" suivi de l'identifiant que l'on souhaite associer à l'élément. Comme dans le langage JavaScript, celui-ci doit être unique sur la page web. Pour sélectionner cet élément, on peut ensuite utiliser la méthode "@ViewChild". Elle accepte en paramètre l'identifiant de la division. Si vous utilisez la version 8 du framework, cette méthode nécessite un deuxième paramètre. Vous devez mettre un objet avec l'attribut "static" dedans. Fixer à "True" cette valeur permet de l'utiliser dans la fonction "ngOnInit()".

import {AfterViewInit, Component, ElementRef, ViewChild} from '@angular/core'; @Component({ selector: 'app', template: ` <div #maDiv>Voici ma division</div> export class AppComponent implements AfterViewInit { @ViewChild('maDiv') maDiv: ElementRef; //À partir d'Angular 8 @ViewChild('maDiv', { static: false }) maDiv: ElementRef; ngAfterViewInit() { console. log (this.maDiv.nativeElement.innerHTML);

Angular fournit une autre possibilité pour utiliser "document.getElementById". Il est possible d'importer l'objet "Document" directement dans le framework. Le framework fournit alors sa propre couche d'abstraction de la classe JavaScript "Document". Utilisez-la plutôt que l'objet JavaScript, car les développeurs peuvent apporter des améliorations et elle reste compatible avec le framework.

import { Inject } from '@angular/core'; import { DOCUMENT } from '@angular/common'; @Component({...}) export class AppCmp { constructor(@Inject(DOCUMENT) document) { document.getElementById('maDiv');

Les informations recueillies sont destinées à CCM Benchmark Group pour vous assurer l'envoi de votre newsletter.

Elles seront également utilisées sous réserve des options souscrites, par CCM Benchmark Group à des fins de ciblage publicitaire et prospection commerciale au sein du Groupe Le Figaro, ainsi qu’avec nos partenaires commerciaux.

Le traitement de votre email à des fins de publicité et de contenus personnalisés est réalisé lors de votre inscription sur ce formulaire. Toutefois, vous pouvez vous y opposer à tout moment

Plus généralement, vous bénéficiez d'un droit d'accès et de rectification de vos données personnelles, ainsi que celui d'en demander l'effacement dans les limites prévues par la loi. Vous pouvez également à tout moment revoir vos options en matière de prospection commerciale et ciblage. En savoir plus sur notre politique de confidentialité ou notre politique Cookies .