【发布时间】:2021-10-11 19:29:56
【问题描述】:
我有呈现 app-deal-partners 组件的 transaction.component.html,每当调用 delete 函数时,我想刷新并重新加载 app-deal-partners 组件的子组件。
我要重新加载<app-deal-partners [transaction]="transaction" [forApprovalResponse]="forApprovalResponse"></app-deal-partners>
我们如何在 angular 中解决这个问题?谢谢。
#transaction组件ts代码
delete(rowData: any) {
this.isLoading = true;
this.Service.delete(rowData.id)
.pipe(finalize(() => { this.isLoading = false;}))
.subscribe({
next: (res) => {
},
error: (err) => {
this.notificationService.showError('Something went wrong, Try again later.');
this.isLoading = false;
},
complete: () => {
this.isLoading = false;
},
});
}
#transaction.component.html 代码呈现 app-deal-partners 代码
<div style="padding-bottom: 20px;">
<app-deal-partners [transaction]="transaction" [forApprovalResponse]="forApprovalResponse"></app-deal-partners>
</div>
#app-deal-partners 代码 html
<app-table-multi-sort (dataServiceEvent)="dataServiceEvent($event)" [tableOptions]="tableOptions" [tableData]="data" (tableActionsEvent)="tableActions($event);" (editRowEvent)="editDeal($event)"></app-table-multi-sort>
【问题讨论】:
-
你为什么同时做
.pipe(finalize(() => { this.isLoading = false;}))和complete: () => { this.isLoading = false; },?您可以删除complete块,因为finalize块已经这样做了。 -
您也可以从
error块中删除this.isLoading = false;,因为finalize也已经涵盖了这一点。
标签: angular typescript