升级到RC6和[email protected]后,我似乎缺少Observable对象的一些扩展。
flatMap运算符不见了,mergeMap也不在这里。我现在只看到一些运算符(operator)。知道我想念的是什么吗?
最佳答案
我想现在您需要单独导入运算符。如果你看里面
node_modules/rxjs/add/operator/mergeMap
您应该看到
mergeMap.d.ts
。其内容是declare module '../../Observable' {
interface Observable<T> {
flatMap: MergeMapSignature<T>;
mergeMap: MergeMapSignature<T>;
}
}
因此,
mergeMap
模块同时声明了flatMap
和mergeMap
。所以你可以导入该文件import 'rxjs/add/operator/mergeMap`;
如果您担心样式(即必须在所需的所有文件中导入样式),则可以从Angular tutorial中查看plunker示例,在该示例中,他们将应用程序需要的所有运算符导入文件中,然后将其导入文件到app.component文件中。您只需要将其导入一个位置即可。根据我的经验,在单元测试中不涉及AppComponent的情况下,我不得不将该文件导入每个测试文件中。