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