Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 删除基于id的特定对象,但将其从json中删除所有对象_Javascript_Angular - Fatal编程技术网

Javascript 删除基于id的特定对象,但将其从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

嗨,我正在创建一个简单的员工crud应用程序,在其中我可以删除单个员工。但当我删除任何雇员时,它会删除db.json中的所有雇员,并使其为空

基本删除调用删除所有条目

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中复制你的问题吗?