我正在使用 angular2 开发一个小型应用程序,并且安装了 Rxjs 5。 每个教程都有不同的方法来导入 Rxjs 库。 要导入的代码 angular2 web不管用;我的意思是 Websotrm 无法识别 Observable 或其任何功能(来自、订阅等)。
- 我需要做什么来解决这个问题?
- 如果我从 Rxjs 导入所有内容,网站的加载速度会变慢吗? (我不会超过 2 节课)
- (Webstorm 问题)如何让 webstorm 在不按 alt+space 的情况下自动补全函数名称
最佳答案
最新的 RXJS 发行版提供了分解的模块来减轻巨大的文件大小,就像 Lodash 一样。导入 rxjs/Rx
(正如另一个答案所建议的那样)将为您提供整个库,但不建议这样做。
相反,单独导入方法和运算符:
- 对于核心类,从其作用域模块导入该类:
import { Observable } from 'rxjs/Observable'
- 对于实例方法,请使用“add”范围中的实例范围:
import 'rxjs/add/observable/fromEvent'
(注意,没有要导入的解构对象 - 该方法会自动添加通过进口) - 对于运算符,从
add/operator
范围导入:import 'rxjs/add/operator/switchMap'
导入操作符一次即可使其可供所有实例使用,因此建议将您使用的所有部分收集在一个文件中,并在需要的地方导入该文件,即通过重新导出您使用的实例。
import { Observable } from 'rxjs/Observable';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
import 'rxjs/add/observable/fromEvent';
import 'rxjs/add/operator/flatMap';
import 'rxjs/add/operator/switchMap';
export { Observable, BehaviorSubject };
关于javascript - 关于Rxjs的基本问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38386832/