我正在构建具有3D模型列表的Web应用程序。我正在做这个练习的目的,以获得角2的一些初步知识。如何在Angular 2的html模板中显示对象数组?
每个列出的模型,将有名称,主图片,类别和滑块(图像数组)。
模型数据阵列是:用于进行适当的显示某些模型的
export var MODELS: Model[] = [{
id: 1,
name: 'Model 1',
image: 'app/img/models/model-1.jpg',
category: 'Cat 1',
slides: [
{ alt: 'Model 1 front view' , url: 'app/img/models/model-2.jpg' },
{ alt: 'Model 1 rear view' , url: 'app/img/models/model-2.jpg' },
{ alt: 'Model 1 side view' , url: 'app/img/models/model-2.jpg' }
]
},
{
id: 2,
name: 'Model 2',
image: 'app/img/models/model-2.jpg',
category: 'Cat 2',
slides: [
{ alt: 'Model 2 front view' , url: 'app/img/models/model-2.jpg' },
{ alt: 'Model 2 rear view' , url: 'app/img/models/model-2.jpg' },
{ alt: 'Model 2 side view' , url: 'app/img/models/model-2.jpg' }
]
}
];
服务是:
@Injectable()
export class ModelService {
getModels(): Promise<Model[]> {
return Promise.resolve(MODELS);
}
getModel(id: number): Promise<Model> {
return this.getModels()
.then(models => models.find(model => model.id === id));
}
}
模型细节的页面模板是:
<div *ngIf="model">
<h2>{{model.name}} details!</h2>
<img [src]="model.image" alt="{{model.name}}"/>
<div>{{model.slides}}</div>
</div>
这些是主要是我用过的东西:https://angular.io/docs/ts/latest/tutorial/
但是,当我尝试使用最简单的方式将幻灯片数组显示到模型详细信息页面时,它显示[object Object]。我读到这可能是角度2中的一个常见问题,可以通过使用自定义管道来解决。不幸的是,我不知道如何为这个案例写一篇文章。
一般问题将是:如何在html模板上正确显示对象(幻灯片)的数组,并将它们分别包装到img标记中。
这里是plunker例如链接:http://plnkr.co/edit/HVo3dtGprMHsPYeyRWBR?p=preview
由于提前,
感谢您的回答Syntactic,它真的不再显示[object Object],而是写入“slide.alt slide.alt slide.alt”,也不能显示任何图像url。我应该做更多的事吗? – gundra
即使在您的本地机器上?它不会在plunkr上显示和显示图像,因为你没有它们,如果你使用我在编辑中粘贴的代码,它应该在你的本地机器上工作,所以让我知道它是不是 –
Syntactic,this last代码片段适用于模型页面,但是我需要它在模型详细信息页面上,当我尝试将其应用于此时,应用程序中断 – gundra