angular - 单击任何卡片时,在卡片的网格布局中插入额外的 div
问题描述
功能要求:
- 卡片以网格格式动态显示
- 单击任何卡时,它将从 API 调用另外 6 种产品。
- 新的产品集应该被插入到被点击的卡片旁边。
- 卡片网格布局中的其他产品必须移动到网格上的较晚位置(新添加产品旁边的仪式)。
解决方案
如果我理解您的问题是正确的,那么您需要执行以下操作:当您从服务器收到新产品时,您需要将它们插入到单击的项目旁边。
我假设您正在通过 ngFor 循环显示您的网格,因此您可以通过以下方式实现逻辑:
<div *ngFor="let item of items; let i = index">
<card (onclick)="addNew(i)">Card content</card>
</div>
你的 addNew 看起来像这样:
addNew(index: number) {
this.http.get('url').subscribe(data => this.items.splice(index, 0, ...data);
}
以下代码this.items
是您在网格中显示的项目列表。data
是新项目的数组。并且this.items.splice(index, 0, ...data)
意味着您在单击的项目旁边插入新项目。
推荐阅读
- javascript - babel loader 仅在文件上工作
- php - 在未找到 Laravel 类中使用 aws-sdk-php
- python - 我的 IDE 和 PythonTutor.com 之间的准确性?
- mysql - 如何通过codeigniter中的同一列获取多行
- c# - 获取每月的星期六
- r - 每次更改时更改计数,但在 R 中遇到 0 时重置
- reactjs - ReactJS - componentWillReceiveProps 使用
- angular - 在 ngx-datatable angular 4 中使用 *ngIf 隐藏/显示列时,不维护表列的拖放顺序
- excel - 基于 MAX 值使用 Powershell 在 Excel WB 中查找 ROW 值
- javascript - google.visualization.DataTable 和 linechar