#11: ⛓ Interface
Nous voulons utiliser les capacités de TypeScript pour savoir quel type d'objet nous passons en tant qu'item au composant todo-item. Nous nous assurerons que l'élément est du bon type. Mais son type n'est pas une simple string, nombre ou booléen. Nous allons donc définir le type de l'élément en utilisant une interface.
Les interfaces n'existent que dans TypeScript et sont supprimées lorsque le code est transpilé en JavaScript. En JavaScript, les types ne sont pas vérifiés.
Créez une interface TodoItem dans un nouveau dossier interfaces avec Angular CLI:
ng g i interfaces/todo-itemì est le raccourci de... vous l'avez deviné - interface. En ajoutant un chemin dans la commande, Angular CLI génère les dossiers spécifiés s'ils n'existent pas déjà.
Dans votre IDE, ouvrez le fichier nouvellement créé src/app/interfaces/todo-item.ts:
export interface TodoItem {
}Maintenant, nous pouvons définir quelles propriétés et/ou méthodes chaque objet de type TodoItem doit avoir. À ce stade, nous allons ajouter deux membres:
titlequi doit être de typestringcompletedqui doit être de typebooleanet facultatif
export interface TodoItem {
title: string;
completed?: boolean;
}Definissons l'@Input de l'élément pour qu'il soit de ce nouveau type. Cela permettra à l'IDE de nous suggérer les membres disponibles lorsque nous utilisons l'élément dans le composant.
export class TodoItemComponent {
@Input() item!: TodoItem;Nous devons importer l'interface dans ce fichier.
Maintenant, définissons la liste des éléments pour contenir des objets du type TodoItem.
Encore une fois, vous devez importer l'interface dans ce fichier.
Maintenant essayez de supprimer le titre de l'un des objets de la liste. Que se passe-t-il?
Last updated