Я создаю директиву в angular, чтобы сделать всплывающее окно подтверждения с помощью всплывающего окна начальной загрузки, хотя для этого я смешиваю jQuery. В директивном файле код выглядит так:
@Output() confirmed = new EventEmitter();
constructor(
private _ElementRef: ElementRef
) { }
ngOnInit() {
$(this._ElementRef.nativeElement).popover({
container: 'body',
html: true,
content: `
<div class="text-center">
<span class="d-block">Are you sure?</span>
<div class="btn-group btn-group-sm mt-1">
<button class="btn btn-outline-danger py-0" id="btn-confirm">Yes</button>
<button class="btn btn-outline-primary py-0">No</button>
</div>
</div>`,
placement: 'top',
trigger: 'focus',
boundary: 'window'
});
$('body').on('click', '#btn-confirm', () => {
this.confirmed.emit();
});
И в файле шаблона компонента:
<input appConfirmation (confirmed)="confirmed()" type="submit" value="Sign up" class="btn btn-primary btn-block">
<input appConfirmation (confirmed)="confirmed()" type="submit" value="Sign up" class="btn btn-primary btn-block">
<input appConfirmation (confirmed)="confirmed()" type="submit" value="Sign up" class="btn btn-primary btn-block">
Всякий раз, когда я нажимаю #btn-confirm
, метод confirmed()
выполняется в компоненте три раза. Как я могу сгенерировать событие для определенной кнопки за один раз?
btn-confirm
- person Sarthak Aggarwal   schedule 25.10.2018