2 votes

Comment définir le nom d'hôte d'un composant avec la liaison de données ?

Mon composant a une variable qui s'appelle componentId qui est défini comme une entrée de la composante :

@Input() public componentId: string;

Je veux que cette variable soit interprétée lors de la construction du HTML, afin de l'attribuer à l'attribut name . Quelque chose comme ça :

<customTag name="{{componentId}}"/>

Le problème est que customTag n'a pas de propriété name Donc, lorsque j'essaie de le faire, j'obtiens l'exception :

Can't bind to 'name' since it isn't a known property of 'customTag'.

Cependant, si je faisais ça :

<customTag name="somename"/>

... dans le HTML rendu, je peux voir correctement le nom de l'attribut rempli avec "somename".

Ce dont j'ai besoin, c'est d'utiliser la valeur de cette variable ( componentId ) en tant que name de customTag sans qu'il soit nécessaire d'essayer d'accéder à la propriété. name de l'élément customTag (dont je ne contrôle pas le code puisqu'il provient d'une bibliothèque).

Comment puis-je simplement lire la valeur de componentId pour l'affecter dynamiquement à l'attribut statique name ?

3voto

ConnorsFan Points 468

Vous pouvez utiliser liaison des attributs :

<customTag [attr.name]="componentId"></customTag>

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