所以我有一個 ngFor 回圈,它生成一個我構建的組件,如下所示;
<app-body *ngFor = 'let card of cardElements; index as i' (deleteCardEmit) = 'cardDeletion()' [currentCard] = 'card'></app-body>
在我的 TS 檔案中,函式“cardDeletion”執行以下操作;
cardDeletion(){
this.cardElements.pop()
}
我基本上希望彈出只洗掉“deleteCardEmit”源自的組件。我在“cardDeletion”函式中放置的任何內容都可以從下面的代碼中使用;
子組件中的按鈕:
<button (click) = 'deleteCard()' > Delete job </button>
@Output 發射器:
@Output() deleteCardEmit = new EventEmitter;
“洗掉卡”功能:
deleteCard(){
this.deleteCardEmit.emit();
}
抱歉,如果我的問題沒有意義,我現在只做了一周的 Web 開發,之前的編程經驗很少。我原本以為我可以將我從 ngFor 獲得的索引傳遞到 pop 中,如下所示:
this.cardElements.pop(i)
但沒有運氣 - 任何幫助表示贊賞。
uj5u.com熱心網友回復:
我會以這種方式處理它:發出要洗掉的元素,使用要從中洗掉的元素過濾實際陣列。
所以:
<app-body *ngFor = 'let card of cardElements; index as i' (deleteCardEmit) = 'cardDeletion(card)' [currentCard] = 'card'></app-body>
public cardDeletion(card) {
this.cardElements = this.cardElements.filter(currentCard => card !== currentCard);
}
In this way you are filtering the element and stimolate the digest to refresh the page
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/491841.html
