o erro
src/app/extrato/extrato.component.ts:17:53 - error TS2304: Cannot find name 'Transferencia'.
está aparecendo no console, mas aparentemente no navegador está tudo ok. Parece que o angular não está reconhecendo o Transferencia. Aqui estão meus códigos rodando no node 14.0.0
transferencia.model.ts
export interface Transferencia {
id?: number | string;
valor: number;
destino: string;
data?: string;
}
transferencia.service.ts
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http'
import { Observable } from 'rxjs';
@Injectable({
providedIn: 'root'//o root significa que esse serviço que está sendo feito em "tranferencia.service.ts poderá ser usado em toda a aplicação"
})
export class TransferenciasService {
private listaTransferencia: any[];
private url = 'http://localhost:3000/transferencias';
constructor(private httpClient:HttpClient) {
this.listaTransferencia = [];
}
get transferencias(){
return this.listaTransferencia;
}
todas(): Observable<Transferencia[]>{
return this.httpClient.get<Transferencia[]>(this.url);
}
adicionar(transferencia: any){
this.hidratar(transferencia);
this.listaTransferencia.push(transferencia);
}
private hidratar(transferencia: any){
transferencia.data = new Date();
}
}
extrato.componet.ts
import { TransferenciasService } from './../services/transferencia.service';
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-extrato',
templateUrl: './extrato.component.html',
styleUrls: ['./extrato.component.scss']
})
export class ExtratoComponent implements OnInit {
transferencias: any[];//Recebe o conteúdo do formulário
constructor(private service: TransferenciasService) { }
ngOnInit(): void {
this.service.todas().subscribe((transferencias: Transferencia[]) => {
console.table(transferencias);//irá imprimir o array no console em formato de tabela, por ser uma tabela mesmo
this.transferencias = transferencias;
});
}
}