升级到RC6和[email protected]后,我似乎缺少Observable对象的一些扩展。

flatMap运算符不见了,mergeMap也不在这里。我现在只看到一些运算符(operator)。知道我想念的是什么吗?

angular - 升级到RC 6和RxJS Beta 11后,flatMap丢失-LMLPHP

最佳答案

我想现在您需要单独导入运算符。如果你看里面

node_modules/rxjs/add/operator/mergeMap

您应该看到mergeMap.d.ts。其内容是
declare module '../../Observable' {
    interface Observable<T> {
        flatMap: MergeMapSignature<T>;
        mergeMap: MergeMapSignature<T>;
    }
}

因此,mergeMap模块同时声明了flatMapmergeMap。所以你可以导入该文件
import 'rxjs/add/operator/mergeMap`;

如果您担心样式(即必须在所需的所有文件中导入样式),则可以从Angular tutorial中查看plunker示例,在该示例中,他们将应用程序需要的所有运算符导入文件中,然后将其导入文件到app.component文件中。您只需要将其导入一个位置即可。根据我的经验,在单元测试中不涉及AppComponent的情况下,我不得不将该文件导入每个测试文件中。

10-06 11:47