226 votes

Quoi utiliser à la place de ::ng-deep

Je tente de styliser un élément placé par la sortie du routeur dans Angular et je veux m'assurer que l'élément généré obtient une largeur de 100%

De la plupart des réponses, je vois que je devrais utiliser le sélecteur::ng-deep, mais selon les docs d'Angular, il est en voie d'obsolescence. Y a-t-il une alternative à ::ng-deep?

9 votes

::ng-deep ne va nulle part. Ce sera toujours un paramètre que vous pouvez activer. Ils ne peuvent absolument pas le supprimer maintenant sans une réaction massive de la communauté. Regardez combien de résultats reviennent pour cette recherche github.com/search?q=%3A%3Ang-deep&type=Code - c'est comme dire que la propriété css !important va disparaître

0 votes

Je ne sais pas - j'ai effectué une recherche à l'échelle du projet par curiosité dans notre mono-repo (plusieurs applications d'entreprise assez grandes) et je n'ai trouvé que 69 références. J'ai l'impression que c'est certainement une refonte acceptable pour sortir de l'obsolescence et je le ferais volontiers chaque fois qu'ils proposent une alternative. De plus, !important occupe une place importante dans la spécification CSS alors que ::deep n'était toujours qu'une proposition.

-16voto

Ishita Ray Points 654

Vous pouvez utiliser "/deep/". C'est une alternative à ::ng-deep.

:host /deep/ h3 {
  font-style: italic;
}

8 votes

C'est un alias et non pas une alternative.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X