typescript - p-dialog kapatma (X) düğmesine tıklandığında Angular fonksiyonu nasıl çağrılır?
p-dialog kapatma (X) düğmesine tıklandığında Angular fonksiyonu nasıl çağrılır?
Aradım ve bunu denedim
(onHide)="cancel()". Ama çalışmıyor. Lütfen çözümlerinizi paylaşın.
Biliyorum, açılır pencereyi gizlemek için bir kapat/iptal düğmesi kullanabiliriz. Ama benim senaryomda, (X) düğmesine tıklayınca bir olay çağırmak istiyorum.
Cevap #1
Aslında (onHide)="cancel()" bu Plunkr'a göre gayet iyi çalışıyor.
Cevap #2
Belgelerde belgelenmemiş ama bu sorunda bulduğum basit bir çözüm var. İki yönlü bağlamayı, visible ve visibleChange özelliklerini kullanarak tek yönlü bağlamaya bölmeniz yeterlidir, şöyle:
<p-dialog header="My dialog"
[visible]="showDialog$ |async"
(visibleChange)="handleClose()"
>
Yukarıda, Angular'ın async pipe'ını diyaloğu göstermek ve diyaloğu kapatmak için handleClose() metodunu kullanmak için kullanıyorum. .ts dosyasında, bazı koşullara bağlı olarak değişen bir boolean değeri gözlemleyen bir servis enjekte edebilirim.
export class HomeComponent implements OnInit {
showDialog$!: Observable<boolean>;
constructor(private homeService: HomeService) { }
ngOnInit(): void {
this.showDialog$ = this.homeService.displayDialog$;
}
handleClose() {
this.homeService.toogleDisplayDialog();
}
}
