Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

A propriedade 'data' não existe no tipo 'any[]'.ts(2339)

A principio gostaria de dizer que fiquei com muita dúvida sobre serviço, preciso sinceramente de uma revisão, e tbm gostaria de dizer que entendi que o curso é básico , mas o instrutor não dá base. Enfim, sei que a resposta é que estão melhorando e tals, más.....eu preciso aprender agora, e tá complicado.

Minha dúvida é no arquivo transferencia.service.ts

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

3 respostas

Olá Elisangela, obrigada pelo feedback.

Vou tentar esclarecer alguns conceitos e vamos investigar o porquê do erro também.

Os arquivos no Angular possuem responsabilidades bem definidas.

É uma boa prática que o nosso componente contenha apenas a lógica para definir comportamentos e conseguir renderizar os arquivos na tela. Então nós precisamos de um arquivo para guardar toda a lógica de negócios e que seja responsável também pela comunicação com o servidor. Esse arquivo é o service (serviço).

No serviço criado pelo professor, temos esta comunicação com a API por meio da url passada e através dos métodos da classe.

Os serviços nos auxiliam a separar do componente algumas informações importantes. Eles são úteis porque o código contido neles pode ser utilizado por toda a aplicação e não será repetido em vários locais diferentes, visto que essas funcionalidades podem ser compartilhadas entre os componentes.

Nesse outro post, eu expliquei um pouco mais sobre serviços.

Nos próximos dias sairá um artigo que escrevi detalhando mais sobre esse tema, assim que sair eu coloco o link aqui.

Quanto ao erro que está aparecendo, acredito que se você colocar transferencia ao invés de this.transferencias, vai funcionar.

private hidratar(transferencia: Transferencia) {
    transferencia.data = new Date();
  }

Isso porque, essa propriedade data, refere-se à interface criada no arquivo transferencia.model.ts:

export interface Transferencia {
  id?: string;
  valor: number;
  destino: number | string;
  data?: Date;
}

Espero ter ajudado! Continuo à disposição :)

solução!

Olá Elisangela, como prometido na resposta acima, aqui está o link do artigo sobre serviços e injeção de dependência no Angular que acabou de sair na plataforma.

Esperamos que sirva para esclarecer um pouco mais sobre o tema! :)

Bom dia, Nay.

Agradeço muito a sua atenção. O artico ficou excelente, muito esclarecedor. Fico grata.