typescript - Tombol dinamis (klik) dengan logika khusus di angular
Saya memiliki beberapa tombol yang saya simpan di database.
Tapi saya tidak tahu cara bekerja dengan (click)
Misalnya, saya memiliki tombol "Tutup" yang saat diklik mengatur boolean menjadi false isVisible=false
Model:
export interface Button {
label: string;
class: string;
iconClass: string;
doJob: any;
}
Templat:
<p-footer *ngIf="hasPopupButtons()">
<a (click)="doStuff(button.doJob)" *ngFor="let button of Buttons" [ngClass]="button.class"><i
[ngClass]="button.iconClass"></i>{{button.label}}</a>
</p-footer>
Fungsi klik:
doStuff(dostuff: any) {
//??
}
Bagaimana saya bisa melakukan ini dengan cara yang elegan?
Jawaban #1
Anda dapat memiliki properti doJob sebagai `fungsi yang ingin Anda panggil
let button = {
label: "Your Label";
class: "your-class",
iconClass: "your-icon-class,
doJob: () => this.doStuff('doStuff')
}
Templat :
<a (click)="button.doJob()" *ngFor="let button of Buttons" [ngClass]="button.class"><i
[ngClass]="button.iconClass"></i>{{button.label}}</a>
