我已经尝试发出以下命令:
npm install --save rxjs-compat但我找不到rxjs-compat文件夹。不管怎么说,真正的问题是:
import { Subject } from 'rxjs';
import { startWith, DebounceTime } from 'rxjs/Operator';
...
ngOnInit() {
this.products$ = this.searchSubject
.startWith(this.searchTerm)
.debounceTime(300)
}我看到startWith.js和debounceTime.js都引用了rxjs-compat。这就是我尝试安装它的原因。我认为我的两个导入语句是正确的,但可能不是我的ngOnInit。
发布于 2020-03-20 03:51:51
我相信您所询问的是如何将该代码转换为使用Pipeable Operators。
import { startWith, debounceTime } from 'rxjs/operators';ngOnInit() {
this.products$ = this.searchSubject
.pipe(startWith(this.searchTerm), debounceTime(300));
}发布于 2020-03-20 04:44:41
rxjs compat的目的是使rxjs v5语法与rxjs v6一起工作。如果你正在写新的代码,应该使用新的语法,这需要管道和导入运算符:
import { startWith, debounceTime } from 'rxjs/operators'
this.products$ = this.searchSubject.pipe(
startWith(this.searchTerm),
debounceTime(300)
)但是,如果您使用的是v5语法:
this.products$ = this.searchSubject
.startWith(this.searchTerm)
.debounceTime(300)您只需要安装rxjs-compat即可。除了你的主题之外,你不需要做任何其他的导入,但是这将停止对v7 v7的工作,所以我相信尽快迁移是符合你的利益的,因为rxjs现在正处于测试版中。
https://stackoverflow.com/questions/60763987
复制相似问题