Crénelage des propriétés d'entrée / sortie
Parfois, le nom public d'une propriété d'entrée/sortie doit être différent du nom interne.
C'est souvent le cas avec les directives d'attribut.
Les consommateurs de la directive s'attendent à se lier au nom de la directive.
Par exemple, lorsque vous appliquez une directive avec un sélecteur myClick à une balise
‹div›
,
vous envisagez de vous lier à une propriété d'événement également appelée
myClick
.
src / app / app.component.html
Cependant, le nom de la directive est souvent un mauvais choix pour le nom d'une propriété dans la classe de la directive.
Le nom de la directive décrit rarement ce que fait la propriété.
Le nom
myClick
de la directive n'est pas un bon nom pour une propriété qui émet des messages au clic.
Heureusement, vous pouvez attribuer un nom public à la propriété, qui répond aux attentes habituelles, tout en utilisant un nom différent en interne.
Dans l'exemple ci-dessus, vous liez réellement via l'alias
myClick
à la propriété
clicks
de la directive.
Vous pouvez spécifier l'alias du nom de la propriété en le passant dans le décorateur d'entrée/sortie comme suit :
src / app / click.directive.ts
Vous pouvez également aliaser les noms de propriété dans les tableaux
inputs
et
outputs
.
Vous écrivez une chaîne délimitée par des deux-points (
:
) avec le nom de la propriété de directive à gauche et l'alias public à droite :
src / app / click.directive.ts