angular - Angular 8:删除订阅后更新表
问题描述
我正在尝试更新一个为每一行填充一个 ngFor 的表,当我订阅删除一行时,它不会更新该表,但在离开页面并返回后...
这些是我的 component.ts 中的功能
constructor(
private _servicio: MaterialesService,
private _dates: DatePipe,
private _comun: ComunService,
private activedRouter: ActivatedRoute
) { }
p : number = 1;
ordenes_fecha: any = [];
ordenes: any = [];
estatus: any = "";
authority: string = "user";
toDelete: number = 0;
ngOnInit() {
const params = this.activedRouter.snapshot.params;
this._comun.getCurrent();
if (this._comun.authority == 'admin') {
this._servicio.getOrdenes().subscribe(
res => {
this.ordenes = res
this.authority = 'admin'
console.log(this.ordenes)
}
)
} else {
if (params.user) {
this._servicio.getByUser(params.user).subscribe(
res => {
this.ordenes = res
console.log(res)
},
err => console.error(err),
);
}
}
}
refresh(){
this._servicio.getOrdenes().subscribe(
res => {
this.ordenes = res;
}
)
}
deleteOrden(id){
this._servicio.deleteOrden(id).subscribe(
res => {
console.log(res);
this.refresh();
},
err => console.log(err)
)
}
如果我refresh()
在特定按钮中调用该函数,它会起作用,但当我调用删除函数时它不会……有人能告诉我我做错了什么吗?或者如果存在另一种方式来做到这一点?谢谢。
解决方案
我假设this._servicio.getOrdenes()
只是httpClient.get
在引擎盖下使用。httpClient.get
在获取请求后完成。您的 refresh 方法是无用的,因为 observable fromgetOrdenes()
已经完成。
推荐阅读
- ruby-on-rails - Rspec 测试在创建多态 has_many 关系时失败
- python-3.x - 如何使用计时器在 Cloud Functions 中运行 Python 代码
- postgresql - postgresql:测试 dblink 连接的触发器,如果不存在则建立
- python - 平均相邻值时通过numpy数组优化迭代
- linux - 为什么 LOAD 程序头的虚拟地址和 gdb 显示的运行时虚拟地址不同?
- awk - 使用 awk one liner 比较浮点数
- pytest - setup() 函数的 pytest 奇怪行为
- unicode - 为什么恢复的文件没有以前的符号?
- kentico - 如何在 C# Kentico 12 MVC 中获取别名路径/节点别名
- angular - 为什么离子物品不显示?