Angularjs 将可观察到的RX连接到输入框

Angularjs 将可观察到的RX连接到输入框,angularjs,rxjs,Angularjs,Rxjs,我是RXJS的新手,我正在尝试将一个可观测的RX附加到一个输入框。到目前为止,我有以下代码可以工作 $onInit() { this.$timeout(() => { let $input = document.getElementById('input_33'); const weeks$ = this.rx.Observable.fromEvent($input, 'keyup'); const queries$ = weeks$

我是RXJS的新手,我正在尝试将一个可观测的RX附加到一个输入框。到目前为止,我有以下代码可以工作

$onInit() {
    this.$timeout(() => {
        let $input = document.getElementById('input_33');
        const weeks$ = this.rx.Observable.fromEvent($input, 'keyup');
        const queries$ = weeks$
            .map(e => e.target.value)
            .distinctUntilChanged()
            .debounce(500);

        queries$.subscribe(val => console.log(val));
    });
}
因此,上面的代码将控制台记录keyup上的#input_33的值


我不得不添加$timeout来等待输入出现在DOM中。有没有更好的方法,因为我不想使用超时?我使用的是角度1.5x,看起来您在机具rx编程中出错了。observable事件发生时自动调用observable


您不应该使用$timeout来等待输入出现在DOM中。您可以将代码放入控制器中,因为当控制器被调用时,DOM Ready已经启动,所以输入字段已经可用。

看起来您在机具rx编程中出错了。observable事件发生时自动调用observable

您不应该使用$timeout来等待输入出现在DOM中。您可以将代码放在控制器中,因为当控制器被调用时,DOM Ready已经启动,所以输入字段已经可用