1
resposta

Error TS2304: Cannot find name 'Transferencias'

Olá, estou recebendo erro no terminal.

Se eu deixo o meu código assim o terminal reclama que não consegue encontrar o nome Transferencias.

import { TransferenciaService } from './../services/transferencia.service';
import { Component, Input, OnInit } from '@angular/core';

@Component({
  selector: 'app-extrato',
  templateUrl: './extrato.component.html',
  styleUrls: ['./extrato.component.scss'],
})
export class ExtratoComponent implements OnInit {
  @Input() transferencias: any[] = [];

  constructor(private service: TransferenciaService) {}

  ngOnInit(): void {
    this.service.todas().subscribe((transferencias: Transferencias[]) => {
      console.table(transferencias);
      this.transferencias = transferencias;
    });
  }
}

Se eu faço o import do TransferenciaService gera 3 erros.

import { TransferenciaService } from './../services/transferencia.service';
import { Component, Input, OnInit } from '@angular/core';
import { TransferenciaService } from '../services/transferencia.service';

@Component({
  selector: 'app-extrato',
  templateUrl: './extrato.component.html',
  styleUrls: ['./extrato.component.scss'],
})
export class ExtratoComponent implements OnInit {
  @Input() transferencias: any[] = [];

  constructor(private service: TransferenciaService) {}

  ngOnInit(): void {
    this.service.todas().subscribe((transferencias: Transferencias[]) => {
      console.table(transferencias);
      this.transferencias = transferencias;
    });
  }
}

Se eu deixar o código igual o do repositório do Github a aplicação sobe, porém, as propriedades do extrato deixam de funcionar.

import { TransferenciaService } from './../services/transferencia.service';
import { Component, Input, OnInit } from '@angular/core';


@Component({
  selector: 'app-extrato',
  templateUrl: './extrato.component.html',
  styleUrls: ['./extrato.component.scss'],
})
export class ExtratoComponent implements OnInit {
  @Input() transferencias: any[] = [];

  constructor(private service: TransferenciaService) {}

  ngOnInit(): void {
    this.transferencias = this.service.transferencias;
    this.service.todas().subscribe((x) => (this.transferencias = x));
  }
}
1 resposta

Olá Antony, tudo bem com você?

Peço desculpas pela demora em obter um retorno.

Para que o tipo Transferencias seja reconhecido, devemos fazer sua importação, que está localizado no arquivo transferencia.model.ts. Sendo assim, para que o tipo seja reconhecido, digite topo dos arquivos services/transferencia.service.ts e extrato/extrato.component.ts a importação abaixo:

import { Transferencias } from '../models/transferencia.model'

Vale ressaltar que a pasta models deve estar dentro da pasta app, como mostro na estrutura abaixo:

Imagem contendo a apresentação das estruturas de pastas do projeto Angular.

Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!