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

app.component.html propriedades no ap-photo

<app-photo *ngFor="let photo of photos" [url]="photo.url" [descricao]="photo.descricao"></app-photo>

Informo que as propeirdades : [url]="photo.url" e [descricao]="photo.descricao" no arquivo app.component.html ficam taxados de vermelho no visual studio code, com mensagem quando passo o mouse em cima:

[url]="photo.url"

variable photo Identifier 'url' is not defined. 'Object' does not contain such a memberAngular

[descricao]="photo.descricao"

variable photo Identifier 'descricao' is not defined. 'Object' does not contain such a memberAngular

não consegui compreender o que houve uma vez que o bind esta sendo realizado normalmente, isso não impede o funcionamento de absolutamente nada, porém me sinto incomodado por não compreender este problema.

7 respostas

Boa noite, Wesley! Como vai?

Vc poderia colar aqui o conteúdo do seu arquivo app.component.ts para que eu possa dar uma olhada e tentar de ajudar de forma mais efetiva?

Grande abraço e bons estudos, meu aluno!

Opa Gabriel, esse aqui é todo conteúdo do app.component.ts

<app-photo *ngFor="let photo of photos" [url]="photo.url" [descricao]="photo.descricao"></app-photo>

Como disse isso não impede o bom funcionamento do front, mas eu só queria entender pq ele reclama isso.

Opa, Wesley! Esse código que vc postou é do template HTML! O que eu quero ver é o código TypeScript do app.component.ts.

Ha sim,

import { Component } from '@angular/core';

import { PhotoService } from './photos/photo/photo.service';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {

  photos: Object [] = [];

  constructor(photoService: PhotoService) {

    photoService.listFromUser('flavio')
    .subscribe(photos => this.photos = photos,
      err => console.log(err.message)
      );

  }

}
solução!

AHÁ, meu aluno!! O problema era o que eu estava imaginando!

Veja que na classe AppComponent vc faz photos: Object [] = [] dizendo que photos é do tipo Object[]! Só que tem um detalhe, a classe Object não tem as propriedades url e descricao! Por isso o VS Code está fazendo seu código sangrar pintando ele de vermelho e te levando para densas trevas!

Contudo, como não poderia deixar de ser, eu trago boas notícias!

Para solucionar esse problema basta fazer photos: any = [] e o VS Code deve parar de reclamar! Mais pra frente durante o curso, o mestre Flávio vai criar um tipo Photo para representar uma foto de modo que vc poderá tipar a lista de fotos assim: photos: Photo[] = []! Aí sim o código vai ficar garoto e as coisas vão ficar bonitas!

Veja aí se com a minha solução as coisas funcionam como esperado! Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Muito obrigado resolveu o problema.

Por nada, Wesley! Sempre que tiver qualquer dúvida é só mandar aqui no fórum da Alura!

Grande abraço e bons estudos, meu aluno!