Я пытался создать директиву при закрытии вкладки с window:beforeunload
это прекрасно работает с @HostListener
.
Теперь я хочу проверить, был ли изменен какой-либо элемент (вход / список / массив ...)
Я знаю, что могу использовать onModelChange
с (change)
но Я ищу какой-нибудь универсальный способ (я имею в виду не ставить change()
для каждого DOM)
Я пробовал onChange
спасательный круг, но безуспешно.
Вот пример стекаблица
Моя директива выглядит следующим образом (@input
должен быть флагом, если что-то меняется или нет)
import { Directive, HostListener, Input } from '@angular/core';
@Directive({
selector: '[appPageClose]'
})
export class PageCloseDirective {
@Input ('hasChanges') hasChanges:boolean;
constructor(){}
@HostListener('window:beforeunload', ['$event'])
confirm($event) {
if(this.hasChanges)
$event.returnValue= "do you want to leave?";
}
}
У меня вопрос, как создать глобального слушателя изменений.