========
ОБНОВЛЕНИЕ: похоже, мне понадобились две вещи:
- Используйте скобки [src] = "someimg.png" или src = "{{someimage.png}} "
- Я забыл удалить исходный источник изображения в html, поэтому он показывался для каждой итерации.D'oh!
Спасибо за ответы и комментарии!
========
У меня есть элемент портфолио, который используется вродительский компонент web-portfolio.html, получающий данные из web-portfolio.ts.
Я пытаюсь передать данные из массива из файла web-portfolio.ts в цикл * ngFor.
<app-portfolio *ngFor = "let site of this.sites" name = "site.name" img = "site.img" description = "site.description" link = "site.link"></app-portfolio>
Компонент app-портфолио имеет следующие входные данные:
export class PortfolioComponent implements OnInit {
isOpen: boolean = false;
@Input() name: string;
@Input() img: string;
@Input() description: string;
@Input() link: string;
}
Но вместо правильного вывода я получаю три значения начального массива;
export class WebPortfolioComponent implements OnInit {
sites = [
{
"name":"Site A",
"description": "Lorem Ipsum",
"img":"/web/sitea.png",
"link":"http://sitea.com"
},
{
"name":"Site B",
"description": "Lorem Ipsum",
"img":"/web/siteb.png",
"link":"http://siteb.com"
},
{
"name":"Site C",
"description": "Lorem Ipsum",
"img":"/web/siteC.png",
"link":"http://siteC.com"
},
];
}
// OUTPUT => Blank, blank, blank
Что я делаю не так?
portfolio.component.html:
<div class = "portfolio-item">
<div class = "portfolio-thumb">
<a (click) = "this.isOpen = !this.isOpen">
<img src = "" alt = ""/>
</a>
</div>
<div class = "portfolio-full" [ngClass] = "{'port-show':this.isOpen}">
<div class = "portfolio-full-image" (click) = "this.isOpen = !this.isOpen">
<img src = "{{this.img}}">
<div class = "portfolio-description">
{{this.description}}
</div>
</div>
</div>
</div>