css - 如何获取最后一个子 *ngFor 组件列表

标签 css angular

我有一个名为用户列表的组件。在这个组件中有目录用户组件的 *ngFor。

<directory-user-card *ngFor="let directoryUser of directoryUsers"
  [directoryUser]="directoryUser">

我需要最后一个 directory-user-card 组件有不同的风格。所以我尝试在父组件中使用 last-child 但没有成功。

directory-user-card :last-child{
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}

有什么想法吗?

最佳答案

您可以使用 *ngFor - last 变量来检查元素是否是最后一个元素。

如果它是循环的最后一个元素,那么 last 变量将变为 true,因此我们可以使用 [ngClass] 添加/删除类。

Angular Docs

Github Issue ,其中讨论了处理此问题的正确方法。

<directory-user-card *ngFor="let directoryUser of directoryUsers; let last = last"
  [directoryUser]="directoryUser" [ngClass]="{'last-child': last}">

.last-child{
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}

关于css - 如何获取最后一个子 *ngFor 组件列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56903462/

相关文章:

javascript - JQuery 搜索仅限于 Angular 组件的 DOM

Angular [innerHTML] 与 document.getElementById().innerHTML

html - 如何删除CSS中的 ImageView 类

asp.net - 如果 API 是一个单独的项目,那么使用 Yeoman .net core spa Angular 模板创建 Angular MVC 项目有什么优势?

java - Vaadin 7 - 找不到请求的资源

jquery - 为什么我不能用 jQuery 定位这两个元素?

javascript - 来自表达式的 Angular 6 错误调用函数

javascript - 加载 angular2-infinite-scroll 时遇到困难

html - text-align right div + add padding-right 不改变 div 宽度?

html - 我将如何在此 block 引用中添加结束语?