【发布时间】:2018-09-10 21:21:49
【问题描述】:
我想使用 ngFor 显示一个数组,但在第一个元素之前我想显示一张卡片(用户可以点击里面显示一个模式)
这里是代码:
<div fxFlex="25" *ngFor="let product of products; let i = index">
<div *ngIf="i == 0">
<mat-card (click)="addProduct()" class="mat-card-add-button">
<div fxLayout="row" fxLayoutAlign="center center" fxFlex="100%">
<span style="font-size:32px;text-align:center">+<br />Add product</span>
</div>
</mat-card>
</div>
<div fxLayoutAlign="center stretch">
<mat-card class="product">
<img mat-card-image src="{{product.picture.url}}" alt="photo">
<mat-card-title>{{product.name}}</mat-card-title>
<mat-card-content>
<p>
{{product.description}}
</p>
</mat-card-content>
<mat-card-actions align="end">
</mat-card-actions>
</mat-card>
</div>
</div>
此代码不起作用。它显示了第一个元素(我的卡片)和第二个元素,如下所示:
有什么想法吗?非常感谢!
编辑:
ngFor loop products :
first loop => my card "add product"
second loop => product A
编辑 2:您会在这里找到答案:Align mat-cards content (image, text and buttons)
【问题讨论】:
-
这是角度问题还是 css 问题?
-
您也应该在添加产品卡上添加 class="product"
-
@eko 我正在使用 Angular 和 fxLayout。也许有一个CSS解决方案。我在帖子中添加了标签,主要问题是关于调整大小。我希望我的 ngFor 循环中的“按钮”具有相同的 css
-
这不是最好的解决方案:我使用 unshift javascript 方法在我的数组中设置一个元素。
标签: css angular angular-material2 ngfor angular-flex-layout