Html Api删除角5

Html Api删除角5,html,angular,Html,Angular,您好,我在Angular 5中工作,我的api delete工作(postman&site-->link=api/employees/:id-->localhost:4200/api/employees/5a2025db26589c230865527a),但我认为我的HTML代码是错误的或介于两者之间的步骤。有人能帮帮我吗?我整天都在忙这个 HTML: <h2>Info employees</h2> <table class="table"> &l

您好,我在Angular 5中工作,我的api delete工作(postman&site-->link=api/employees/:id-->localhost:4200/api/employees/5a2025db26589c230865527a),但我认为我的HTML代码是错误的或介于两者之间的步骤。有人能帮帮我吗?我整天都在忙这个

HTML:

<h2>Info employees</h2>
  <table class="table">
    <tr>
      <th>Name</th>
      <th>Age</th>
      <th>Email</th>
      <th>Wage</th>
    </tr>

    <tr  *ngFor="let employee of employees">
      <td>{{ employee.name }}</td>
      <td>{{ employee.age }}</td>
      <td> {{ employee.email }} </td>
      <td> {{ employee.wage}}</td>
      <td>{{employee._id}}</td>
      <td>

      <a href=""  class="btn btn-danger" data-ng-click="deleteEmployee(employee._id)">Delete</a>



      </td>
      </tr>


  </table>

(单击)
替换
数据,并使HTML元素成为
,因为它不会在任何地方重定向

编辑:
employees.splice(i,1)替换为
此.employees.splice(i,1)以反映视图中的更改

实际上,你需要改变

if(data.n == 1){
                for(var i = 0;i < employees.length;i++){
                    if(employees[i]._id == id){
                        employees.splice(i, 1);
                    }
                }
            }
if(data.n==1){
对于(变量i=0;i

因为基本上您是在视图中删除用户,而不考虑后端服务的数据。您从
DELETE
端点得到了什么响应?它是否返回已删除的用户或已删除用户的
id

可能有点晚了..但是如果您尝试这样的操作。。使用
.filter()
ES6(也是Typescript)数组本机方法

就像:

eleteEmployee(id){
        var employees = this.employees; //why use it?? ..no need it

        this._dataService.deleteEmployee(id)
    .subscribe(data => {
            if(data.n == 1){
                this.employees = this.employees.filter(xx=> xx._id != id)  // <--- so filter and RETURN ALL non matching given ID
            }
        });
    }
eleteEmployee(id){
var employees=this.employees;//为什么要使用它???。不需要它
此.\u dataService.deleteEmployee(id)
.订阅(数据=>{
if(data.n==1){

this.employees=this.employees.filter(xx=>xx.\u id!=id)//if(data.n==1)是什么
for?Delete我用更多信息编辑了我的答案,但是是的
Delete
现在看起来不错-仍然存在一些问题即使在后端仍然是错误的,因为你没有检查服务器是否发回。如果用户没有从数据库中删除,而你从视图中删除了它怎么办?因为这种逻辑会发生。例如e在删除视图中的用户->之前,更改端点以导致错误。您仍然会删除它。希望这有助于响应-->员工5a2025db26589c230865527a被删除!
if(data.n == 1){
                for(var i = 0;i < employees.length;i++){
                    if(employees[i]._id == id){
                        employees.splice(i, 1);
                    }
                }
            }
eleteEmployee(id){
        var employees = this.employees; //why use it?? ..no need it

        this._dataService.deleteEmployee(id)
    .subscribe(data => {
            if(data.n == 1){
                this.employees = this.employees.filter(xx=> xx._id != id)  // <--- so filter and RETURN ALL non matching given ID
            }
        });
    }