如何在angular指令中操纵输入事件?

时间:2019-02-26 14:45:42

标签: ajax angular input delay directive

我想延迟ajax请求。所以我想为所有具有使ajax请求的事件的输入编写一条指令。

HTML

<input delayXHR (input)="makeXHR($event)">

我可以在以下指令中检索更改并编写一个延迟函数。

指令

import { Directive, HostListener } from '@angular/core';

@Directive({
    selector: '[delayXHR]'
})
export class SearchDelayDirective {

    constructor() { }

    @HostListener('input') delayXHR() {
        let timer;
        return function (callback, ms) {
            clearTimeout(timer);
            timer = setTimeout(callback, ms);
         };
     }

}

如何让XHR等待?如何启动/停止“ makeXHR”功能?

0 个答案:

没有答案