Typescript angular2 CLI项目中缺少一些RxJS操作符?怎么办?
我正在学习RxJS,我不断尝试许多我感兴趣的运算符和组合 我在这里学习形式:和 我有一个Angular2 rc4 CLI项目,所以我使用的是Typescript。RxJS是:5.0.0-beta.6 问题: 我发现一些运算符不存在于可观察对象上。 例如:我想创建一个observable,它逐个返回对象的键值对: 您可以看到实现的样子,正如我所说的 但我的编辑器是这样的: 没有可观察的智能。配对() 根据我对两种进口产品进行了分析:Typescript angular2 CLI项目中缺少一些RxJS操作符?怎么办?,typescript,angular,rxjs,strong-typing,rxjs5,Typescript,Angular,Rxjs,Strong Typing,Rxjs5,我正在学习RxJS,我不断尝试许多我感兴趣的运算符和组合 我在这里学习形式:和 我有一个Angular2 rc4 CLI项目,所以我使用的是Typescript。RxJS是:5.0.0-beta.6 问题: 我发现一些运算符不存在于可观察对象上。 例如:我想创建一个observable,它逐个返回对象的键值对: 您可以看到实现的样子,正如我所说的 但我的编辑器是这样的: 没有可观察的智能。配对() 根据我对两种进口产品进行了分析: import {Observable} from "rxjs
import {Observable} from "rxjs/Rx";
import 'rxjs/Rx'; // import all operators and stuff. it's not good practice i know, but only for this example
并尝试为rxjs安装比angular cli提供的更多的打字功能,但不起作用:
typings install --save --ambient npm:rx/ts/rx.all.d.ts // Unable to resolve "npm:rx/ts/rx.all.d.ts" from "rx"
or
typings install rxjs // Unable to find "rxjs" ("npm") in the registry.
并尝试使用:
import * as Rx form 'rxjs/Rx'
myObjProperties$ = Rx.Observable.pairs(myObj) // still doesn't work, same error.
同样,我也无法解释为什么将可观察对象打印到控制台不起作用。。我得到一个字符串函数
,它是无用的。没有原型的东西
console.log('TheAllmightyObservable : ', Observable) // i get:
// TheAllmightyObservable : function Observable(subscribe) {
// this._isScalar = false;
// if (subscribe) {
// this._subscribe = subscribe;
// }
// }
我对许多其他操作符也有同样的问题:对象更改、数组更改、使用skeduler、pairs(其中一些不是很重要),但当我发现一个非常有用的RxJs操作符时,它让我很恼火,我无法在angular2 CLI项目中使用它
问题:
“在x上找不到属性/方法”
问题非常感谢您花时间阅读并帮助我找到解决方案:)根本问题:您使用的是一个版本的RxJS,但查看的是另一个版本的文档 RxJS 5(测试版)与Angular 2配合使用: RxJS 4(稳定): 这些运算符在新版本中不存在,因此您无法看到它们 关于你的问题: 1) RxJS与Angular2没有任何关系,您可以在没有Angular2的情况下使用RxJS。RxJS只是一个用于创建事件流的库,它的操作方式与您生成事件的方式是正交的 2) 如果您使用的是RXJS4,那么您可以使用非常好的。RxJS 5仍在进行中,但有些文档是由构建过程生成的 3) 在这种情况下,这不是打字问题。我也有同样的问题,而且有点类似。现在还没有答案。我在angular github上打开了一个问题,但仍然没有找到正确的解决方案。希望你能找到解决办法
console.log('TheAllmightyObservable : ', Observable) // i get:
// TheAllmightyObservable : function Observable(subscribe) {
// this._isScalar = false;
// if (subscribe) {
// this._subscribe = subscribe;
// }
// }