将输入元素绑定到 Angular 中的 Observable

Bind input element to Observable in Angular

我缺少一些基本的东西。但是我发现的所有类似帖子都包含带有@Input 的解决方案和我没有找到带有简单变量的对象。

所以我有一个包含帖子列表和输入的组件。

这是我的 HTML:

<input placeholder="Enter value that title or body should conain" [(ngModel)]="filterString$" />

这是我的打字稿:

filterString$ = new BehaviorSubject<string>('').asObservable();

this.filterString$.subscribe((filterString) => {
   this.filterPosts(filterString);
});

问题是它只触发一次(当然是因为我在 HTML 绑定中遇到了问题)。并输入显示:[object Object]

我的绑定有什么不正确的地方?

我认为您不能将可观察对象绑定到 ngModel 输入。 无论如何你可以做得更简单,例如这样:

<input (ngModelChange)="filterPosts($event)" [(ngModel)]="filterString" />