#11: ⛓ Interface
Queremos usar as habilidades do TypeScript para saber que tipo de objeto passamos como um item
para o componente todo-item
. Iremos ter certeza de que o item é do tipo certo. Mas o seu tipo não é uma simples string, número ou booleano. Vamos definir o tipo do item usando uma interface.
Já vimos uma interface fornecida pelo Angular: a interface
OnInit
que inclui o métodongOnInit
. Cada classe que implementa essa interface deve definir esse método. Caso contrário, obteremos um erro durante o tempo de compilação.Interfaces existem apenas no TypeScript e são removidas quando o código é compilado para JavaScript. Em JavaScript, não podemos impor a segurança do tipo.
Crie uma interface TodoItem
em uma nova pasta chamada interfaces
com o Angular CLI:
i
é a contração para... você adivinhou - interface. Adicionando um caminho faz com que o Angular CLI gere as pastas que você indicou, se elas ainda não existirem.
Abra o arquivo recém criado src/app/interfaces/todo-item.ts
:
Agora, podemos definir que propriedades e/ou métodos cada objeto do tipo TodoItem deve ter. Neste ponto iremos adicionar dois membros:
title
que deve ser do tipostring
completed
que é do tipoboolean
e é um membro opcional
Vamos definir o item @Input para ser do tipo que criamos. Isso vai permitir que a IDE nos sugira membros disponíveis quando usarmos o item na classe e no modelo do componente.
Você vai precisar importar a interface nesse arquivo.
Agora, vamos definir a lista de itens de tarefas para conter os objetos do tipo TodoItem
Novamente, será preciso importar a interface para esse arquivo.
Agora tente excluir o título (title) de um dos objetos na lista. O que acontece?
Last updated