今天,我开始将现有的Angular应用迁移到最新版本4.4.6
。我尝试使用debounceTime
运算符在指定时间之间丢弃某些值。这是代码的样子:
this.filtro.valueChanges
.debounceTime(400)
.distinctUntilChanged()
.switchMap(() => ...);
使用--dev
标志(Angular CLI)构建它之后,我开始收到错误消息,指出debounceTime
不是函数。经过一番挖掘后,我注意到我通过这句话强调了debounceTime:
import "rxjs/add/operator/debouncetime";
将debouncetime
更改为debounceTime
解决了这个问题,但我对这一变化感到好奇。这记录在哪里?以前的行为是错误的吗?
答案 0 :(得分:4)
导入总是区分大小写。
尽管由于文件系统的工作方式,不区分大小写的导入可能对不区分大小写的操作系统(Windows)起作用,但这是一个错误导致错误(名称不同的模块可以被视为不同的模块)并将在其他操作系统上出现问题。这同样适用于本机ES模块和不区分大小写的URL。
正确的导入是:
import "rxjs/add/operator/debounceTime";