angular cli rxjs运营商进口

时间:2017-07-12 02:08:34

标签: angular rxjs angular-cli

在使用angular cli创建的组件中,我从未添加import 'rxjs/add/operator/first';

然而,使用this.route.params.first()仍然有用。为什么呢?

是否可以不必在每个文件中导入大量运算符?

1 个答案:

答案 0 :(得分:3)

这样的进口
import 'rxjs/add/operator/first';

看到操作员修补了Observable原型。请参阅the source

此类导入不需要基于每个文件进行。它们只需要导入一次 - 之后,操作符可以通过原型调用。

此外,如果您要导入的另一个库恰好使用该导入,则原型将被修补并且操作员将可用。出于这个原因,一些库(如Angular)显式导入运算符而无需修补原型。 (这样,客户端代码将不依赖于Angular已经实施的任何原型修补导入,并且可以在不破坏客户端代码的情况下删除Angular中的导入。)

the docs中有关于各种导入机制的更多信息。