ค้นหาเว็บไซต์

javascript - ทำลายคอมโพเนนต์ด้วยตัวเอง - angular2


ฉันมีคอมโพเนนต์ (main-cmp) ที่มีแถวจากฐานข้อมูล สำหรับแต่ละแถวฉันสร้างคอมโพเนนต์อีกตัว เช่น row-cmp

main-cmp ได้ร้องขอข้อมูลจากฐานข้อมูล และทำการแยกวิเคราะห์ข้อมูลนั้นเป็น

<row-cmp *ngFor="let row of data" 
     [id]="row.id" 
     [name]="row.name" 
     [value]="row.value">
</row-cmp>

ใน row-cmp ผมได้ประกาศฟังก์ชัน delete() ซึ่งเรียก http request ไปยัง backend ของผม ตอนนี้เมื่อมีการตอบกลับจาก request เป็น true ผมต้องการทำลาย row-cmp สำหรับแถวที่ถูกเลือก นี่เป็นไปได้ไหม?

คำตอบ #1

นี่ไม่รองรับ ฉันขอแนะนำให้เพิ่ม eventemitter

@Output() delete:EventEmitter = new EventEmitter();

แล้วจากนั้นเพิ่มตัวจัดการเหตุการณ์ที่ลบรายการออกจากอาร์เรย์ข้อมูล

<row-cmp *ngFor="let row of data;let i=index" (delete)="data.splice(i,1)"
     [id]="row.id" 
     [name]="row.name" 
     [value]="row.value">
</row-cmp>

บทความที่เกี่ยวข้อง