【发布时间】:2019-04-15 21:20:00
【问题描述】:
我有一个在“http://localhost:4200/assignmentForAudit”运行的页面,用户界面看起来像
当我单击删除按钮时,数据被删除但页面没有刷新。我尝试在删除操作后放置this.router.navigate(['/assignmentForAudit']);,但它没有刷新页面。我怎样才能实现这种刷新方法以便删除数据?
component.ts中的删除方法
onDelete(nas:any){
this.assignmentAudit.id=nas.assignmentAudit[0].id;
console.log(this.assignmentAudit.id);
if(window.confirm('Are sure you want to delete this item ?')){
this.assignmentAuditService.deleteGroupFromSelection(this.assignmentAudit.id)
.subscribe(
data => {
console.log(data);
},
error => console.log(error));
}
this.router.navigate(['/assignmentForAudit']);
}
assignment-audit.service.ts类方法调用api操作
deleteGroupFromSelection(id: number): Observable<any> {
return this.http.delete(`${this.baseUrl}/${id}`, { responseType: 'text' });
}
删除操作正常,但问题是页面没有刷新。
【问题讨论】:
-
window.location.reload();应该可以工作,但它确实完成了页面刷新,我建议宁愿重新加载,只需在成功删除时从网格中删除。 -
服务器端删除item后,需要再次查询item列表。获得列表后,只需将其重新分配给适当的组件属性。否则 Angular 不知道发生了什么变化。
-
这篇文章可能对你有帮助medium.com/engineering-on-the-incline/…
标签: javascript angular typescript angular6