Javascript 删除基于id的特定对象,但将其从json中删除所有对象
嗨,我正在创建一个简单的员工crud应用程序,在其中我可以删除单个员工。但当我删除任何雇员时,它会删除db.json中的所有雇员,并使其为空 基本删除调用删除所有条目Javascript 删除基于id的特定对象,但将其从json中删除所有对象,javascript,angular,Javascript,Angular,嗨,我正在创建一个简单的员工crud应用程序,在其中我可以删除单个员工。但当我删除任何雇员时,它会删除db.json中的所有雇员,并使其为空 基本删除调用删除所有条目 deleteEmployee(employeeId:number){ this.employeesDataService.deleteEmployee(employeeId).subscribe(data => { console.log("data", data);//Gettin
deleteEmployee(employeeId:number){
this.employeesDataService.deleteEmployee(employeeId).subscribe(data => {
console.log("data", data);//Getting blank object in risponse
let newEmployees = this.employees.filter(data => data.id !== employeeId);
this.employees = newEmployees;
console.log(this.employees);
})
}
component.html
<tr *ngFor="let employee of employees; let i = index">
<th scope="row">{{ i + 1 }}</th>
<td>{{employee.employeeId}}</td>
<td>{{ employee.address }}</td>
<button type="button" style="margin-left:10px" class="btn btn-danger" (click)="deleteEmployee(employee.id)">Delete</button></td>
</tr>
服务
deleteEmployee(id:number){
return this.http.delete(`${this.baseUrl}/${id}`)
}
db.json
{
"employees": [
{
"id": 1,
"employeeId": "HCL1",
"name": "Mark",
"age": 24,
"email": "mark@gmail.com",
"mobile": "455463242",
"address": "abx, near abc, India"
},
{
"id": 21,
"employeeId": "HCL21",
"name": "Jack",
"age": 21,
"email": "jack@gmail.com",
"mobile": "455463242",
"address": "xyz, near abc, India"
}
}
]
}
您正在删除基于员工的
employeeId
,因此将data.id
更改为data.employeeId
let newEmployees = this.employees.filter(data => data.employeeId !== employeeId);
JSON服务器正在查看数据库并删除引用其他不存在的条目的条目(基于parentId属性) 为了修复它,我删除了EmployoEID,并在json文件中只使用了id。另一个选项是创建db,如下所示
{
"users": [
{ "id": 1 },
{ "id": 2 }
],
"employees": {
// ...
}
}
不是,这不是问题所在,这里我根据id过滤掉未删除的对象。在此之前,in.subscribe(数据…)中的数据有空对象。你能在stackblitz中复制你的问题吗?