我正在构建具有 3d 模型列表的 Web 应用程序。我这样做是为了练习目的,以获得一些关于角度 2 的初步知识。
每个列出的模型都将具有名称、主图片、类别和滑块(图像数组)。
模型数据数组为:
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]。我读到这可能是 angular 2 中的一个常见问题,可以通过使用自定义管道来解决。不幸的是,我不知道如何为这种特定情况编写一个。
一般问题是:如何在 html 模板上正确显示对象数组(幻灯片),并将它们分别包装到img标签中。
这是 plunker 示例链接:http ://plnkr.co/edit/HVo3dtGprMHsPYeyRWBR?p=preview
提前致谢,