为打字稿中的Observable导入.of() [英] import .of() for Observable in typescript
问题描述
我将这个伟大的仓库用于我的angular 2测试项目(TypeScript)- https://github.com/qdouble/angular-webpack2-starter .而且我需要使用 Observable.of(..).当我尝试导入它时:
I'm using this great repo for my angular 2 test project (TypeScript) - https://github.com/qdouble/angular-webpack2-starter. And I need to use Observable.of(..). When I try to import it:
import { Observable } from "rxjs/Observable";
import { of } from 'rxjs/observable/of';
我得到:
属性"of"在类型可观察的类型"上不存在.
Property 'of' does not exist on type 'typeof Observable'.
我还通过以下方式尝试了它:
I also tried it the following way:
import { Observable } from "rxjs/Observable";
import { of } from 'rxjs/add/observable/of'; // notice 'add'
我得到了:
node_modules/rxjs/add/observable/of'没有导出的成员'of'.
node_modules/rxjs/add/observable/of"' has no exported member 'of'.
因此,如何为Observable导入此Of()静态方法?
So, how can one import this Of() static method for Observable???
推荐答案
您不必从 'rxjs/add/observable/of'
导入{of}
.您可以直接使用
You do not have to import {of}
from 'rxjs/add/observable/of'
. You can directly use
import { Observable } from "rxjs/Observable";
import "rxjs/add/observable/of";
或者您可以从捆绑了所有运算符的"rxjs/Rx"中导入 错误的练习 Observable
.
import { Observable } from "rxjs/Rx";
更新2018年1月26日:RxJS v5.5 +管道运算符
来自 https://github.com/ReactiveX/rxjs/blob/master/doc/pipeable-operators.md
从5.5版开始,我们已经发布了可移植运算符",可以在rxjs/operators中进行访问(请注意复数的"operators").与在rxjs/add/operator/*中找到的补丁"运算符相比,这些方法是仅引入所需运算符的更好方法.
Starting in version 5.5 we have shipped "pipeable operators", which can be accessed in rxjs/operators (notice the pluralized "operators"). These are meant to be a better approach for pulling in just the operators you need than the "patch" operators found in rxjs/add/operator/*.
现在不建议使用修补"导入,最好使用严格的导入.
Now that "patching" imports are going to be deprecated, it would be better to use strict imports.
import { of as observableOf } from 'rxjs/observable/of'
并像这样使用它
const myObs$: Observable<number> = observableOf(1, 2, 3)
这篇关于为打字稿中的Observable导入.of()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!