Отображение изображения из JSON в HTML Angular

#html #angular #image #api #url

#HTML #angular #изображение #API #url

Вопрос:

извините за вопрос новичка. Я создал http-запрос и извлек некоторые данные pokemon и поместил их в объект с именем pokemon, например:

 export class AppComponent implements OnInit{
  title = 'Pokedex';
  apiURL = 'https://pokeapi.co/api/v2/pokemon/1';
  pokemon = {};
  constructor(private http: HttpClient){}

  ngOnInit(): void{
    this.http.get(this.apiURL).subscribe(data =>{
        const pokemon = {
          name: data['name'],
          id: data['id'],
          abilities: data['abilities'].map( ability => ability['ability']['name']),
          types: data['types'].map( type => type['type']['name']),
          image: data['sprites']['front_default']
      }
  

В HTML я попытался создать изображение с <img src = "{{ pokemon.image }}"/>

Однако единственное, что появляется, это значок сломанного изображения, и появляется эта ошибка: GET http://localhost:4200/{ pokemon.image } 404 (Не найден)

Но когда я console.log pokemon.image, полный URL выводится на консоль: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/1.png

Что я здесь делаю не так?

Ответ №1:

Вы можете попробовать это с помощью этого:

 <img [src]="pokemon.image"/>
  

Если это все еще не работает, можете ли вы сказать мне, каково отраженное значение этого свойства в вашем HTML-файле?

 <p>{{ pokemon.image }}</p>
  

Ответ №2:

Я внес два изменения, и его работа :

 1) pokemon:any;   (instead of  pokemon = {};)

2) this.pokemon (instead of  const pokemon)