html - 当使用 if 语句过滤前 3 个图像时,如何在从左侧开始的数组中显示(即)第 3 个索引(第 4 个)图像?

标签 html css angular image typescript

所以我在我的个人 Web 开发元素(乐器零售商网站)中使用 AngularJS(前端)和 .NET Core(后端)。我有一个名为“吉他”的模型,我在数据库的吉他表中拥有所有吉他数据,每个数据都有一个主图像。在 .ts 文件中,我引入了一组吉他,这些吉他目前正在存储 5 个数据(吉他)。索引 0、1、2 是 Martin 吉他,3、4 是 Gibson 吉他。我在 Angular 中将 Martin 和 Gibson 吉他分离成单独的组件,因此它们每个都有自己的页面和 URL。我还有吉他卡组件,用于使用 Bootstrap 卡对图像进行样式设置。下面是我如何使用 angular 的条件语句来过滤 Gibson 吉他并仅显示它们。

<div *ngIf="guitar.brand == 'Gibson'">
  <app-guitar-card [guitar]="guitar"></app-guitar-card>
</div>

它占用索引 0、1、2 的图像空间,并从右侧的第 4 个位置开始显示第 3 个索引图像。但我希望那些前 3 张图片在甚至没有显示在网页上时也不会占用空间。 Click here to see the screenshot of my issue

这是 gibson-list.component.html

<div class="container mt-5">
  <div class="row">
    <div *ngFor="let guitar of guitars" class="left col-lg-3 col-md-6 col-sm-12">
      <div *ngIf="guitar.brand == 'Gibson'">
        <app-guitar-card [guitar]="guitar"></app-guitar-card>
      </div>
    </div>
  </div>
</div>

这是 gibson-list.component.ts

export class GibsonListComponent implements OnInit {
  guitars: Guitar[];

  constructor(private guitarService: GuitarService, private alertify: AlertifyService) { }

  ngOnInit() {
    this.loadGuitars();
  }

  loadGuitars() {
    this.guitarService.getGuitars().subscribe((guitars: Guitar[]) => {
      this.guitars = guitars;
    }, error => {
      this.alertify.error(error);
    });
  }
}

我尝试使用 css 解决这个问题,但无法解决。请帮忙。谢谢!

最佳答案

那是因为div是通过*ngFor添加的,空内容导致*ngIf。 试试这个:

ts文件

filter(guitars,brand){
  return guitars.filter(g=>g.brand===brand)
}

html文件

<div *ngFor="let guitar of filter(guitars,'Gibson')" class="left col-lg-3 col-md-6 col-sm-12">

关于html - 当使用 if 语句过滤前 3 个图像时,如何在从左侧开始的数组中显示(即)第 3 个索引(第 4 个)图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56615316/

相关文章:

javascript - 用键盘(没有鼠标)完全控制网站?

javascript - Angular 4选中多个复选框

css - 我的 Angular router-outlet 元素上的这个样式属性来自哪里?

html - 从下拉菜单内部触发时,Bootstrap-4 模式不显示

html - 不同部分的CSS定位

html - firefox 菜单的不同行为

javascript - 选择没有父类的元素

typescript - Angular 2 : How to pass route parameters to subroute?

JQuery DataTables 排序 - 最后放零

javascript - 使用 jquery 的选择器