angular - fromEvent 未获取键盘事件

标签 angular

为什么这没有获取键盘类型事件?它不打印任何内容到控制台。我正在复制此 page 中的代码

  ngOnInit() {

    const searchElement = document.getElementById('search-input');

    const typeahead = fromEvent(searchElement, 'input').pipe(
      map((e: any) => e.target.value),
      tap(term => console.log('searching... ', term)),
      filter(text => text.length > 2),
      debounceTime(10),
      distinctUntilChanged(),
      switchMap(term => this.searchService.search(term))
    );

  }

HTML

<input type="text" id="search-input">

最佳答案

您没有订阅它,这就是没有发出任何内容的原因。 Observables 如果未订阅则不会发出

添加以下代码:

typeahead.subscribe(data => {
 // Handle the data from the API
});

关于angular - fromEvent 未获取键盘事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54002806/

相关文章:

javascript - 在 Angular 中滚动到(单击)特定的 div

angular - 无法更改 Clarity Design System 的路标图标

css - 下拉列表在单个 HTML 页面中工作但在 Angular 组件中不工作

angular - 组件没有路由配置 - 嵌套路由 angular2 RC1

带有 if 的 Angular 5 ngClass

Angular Typescript - 排除在 tsconfig.json 中不起作用

javascript - 无法从 Angular 9 中的服务加载变量

angular - 路由解析器不适用于 Angular 中的嵌套 Observables

angular - 在Electron的透明窗口中获取阴影

angular - 在 Angular 中单击 'None of the above option' 时,有没有办法重置复选框项目的其余部分?