Обновление пользовательского интерфейса Angular2 NgZone.onStable eventListener
this._zone.onStable.subscribe(() =>{
filterInputFacilities = (<HTMLInputElement>document.getElementById("filterInputFacilities"));
if(filterInputFacilities){
filterInputFacilities.addEventListener('keydown', (e: KeyboardEvent) => {
this._facilities = []; // removes facilitys in UI
alert("hello"); // alert that is immediate on key press
})
}
У меня есть цикл ngFor, который соответствует _facilities. Всякий раз, когда я ввожу ключ в поле "filterInputFacilities", я получаю предупреждение. Тем не менее, мне не нужно ничего делать в течение 5-10 секунд, пока цикл ngFor не включится снова и не удалит объекты в пользовательском интерфейсе.
<div class="row" *ngFor="let facility of _facilities">
Мой вопрос.. Что происходит? Похоже, что зона ждет, пока пользовательский интерфейс завершит выполнение микрозадач, прежде чем angular сделает свой HTML. Как сделать так, чтобы пользовательский интерфейс менялся при нажатии клавиш?