Функция, которую я написал в части TypeScript моего компонента Angular, кажется невидимой для HTML, который должен иметь возможность вызывать ее, но могут вызываться другие функции в том же файле.
Функция loadPage (страница + 1) успешно вызвана, а функция timedLoadResults () - нет. Я также попробовал директиву ng-keyup, но это не дало результатов вызова функции (проверено по сетевому трафику браузера, при вызове выполняется API-вызов сервера).
Ошибка браузера: 'timedLoadResults' не определено
HTML:
<input type="text" id="searchTextId" [(ngModel)]="searchText" name="searchText" placeholder="Search" onkeyup="timedLoadResults()" >
<div id="workflowsTable" class="table-responsive" *ngIf="onlineAcceptanceWorkflows">
<table class="table table-striped">
//table headers...
<tbody infinite-scroll (scrolled)="loadPage(page + 1)" [infiniteScrollDisabled]="page >= links['last']" [infiniteScrollDistance]="0">
<tr *ngFor="let onlineAcceptanceWorkflow of (onlineAcceptanceWorkflows | customSearch: searchText) ;trackBy: trackId">
//...
TS:
loadPage(page) {
this.page = (this.searchText != '')
? this.page
: page;
this.loadAll();
}
timedLoadResults() {
if(this.searchText == ''){
return;
} else {
if(this.timeOut != null) clearTimeout(this.timeOut);
this.timeOut = setTimeout(() => this.loadPage(0), 150);
}
}