2
我想知道爲什麼當我運行此函數時,該項目從我的Firebase數據庫中刪除,但在我的Angular 2應用程序中,當它到達最後一項,它會將其從數據庫中刪除,但它不會將其從我的*ngFor
循環中的列表中刪除。但是,如果我刷新頁面,則列表會更新並且條目不再存在。有人知道爲什麼會發生這種情況?AngularFire2 - 通過Observable刪除項目 - 最後一個項目不會從UI中刪除
這裏是在我的供應商的功能,以除去附着:
removeAttachment(attachment, projectId, requestId) {
return this._af.database.list(`/check_requests/${projectId}/${requestId}/attachments/${attachment.id}`).remove();
}
下面是在我的組件相關聯的數組:
public attachments: any = [];
public attachmentKeys:any = [];
這裏是一個異步函數填充attachments
和attachmentKeys
數組更新:
populateFormWithRequest() {
this.formPopulationObs = this._checkRequests.getRequest(requestId, projectId).subscribe(requestData => {
// Get the attachments
if(requestData['attachments']) {
this.attachments = requestData['attachments'];
this.attachmentKeys = Object.keys(requestData['attachments']);
}
});
}
這是我* ngFor環在我的HTML模板:
<ul class="attachment-list" *ngIf="attachments && (attachments | mapToIterable).length > 0">
<li *ngFor="let key of attachmentKeys">
<a target="_blank" href="{{attachments[key].url}}"><i class="fa fa-paperclip"></i>{{attachments[key].name}}</a>
<button (click)="removeAttachment(attachments[key], key)"><i class="fa fa-times"></i></button>
</li>
</ul>
你是一個紳士和學者。我愛你。 Thankyou,那很完美。 –