我正在学习RxJS,我经常尝试许多我感兴趣的运算符和组合。
我在这里学习:http://reactivex.io/documentation/operators.html和这里。
我有一个Angular2 rc4 CLI项目--所以我使用的是类型记录。RxJS为: 5.0.0-beta.6
问题:
我发现一些算子在可观测的.上不存在。
例如:我想要创建一个可以观察到的对象,它逐一返回对象的键值对:您可以看到实现的样子,就像我使用的从这里开始一样。
// Using Standard JavaScript
var obj = {
foo: 42,
bar: 56,
baz: 78
};
var source = Rx.Observable.pairs(obj);
var subscription = source.subscribe(
function (x) {
console.log('Next: %s', x);
},
function (err) {
console.log('Error: %s', err);
},
function () {
console.log('Completed');
});
// => Next: ['foo', 42]
// => Next: ['bar', 56]
// => Next: ['baz', 78]
// => Completed但我的编辑是这样的:

Observable.pairs()没有Intelisense。

基于这个职位,我已经完成了这两个导入:
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安装比角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.另外,我也无法解释为什么把可观察到的对象打印到控制台上不起作用。我得到了一个没用的string-function。没有原型。
console.log('TheAllmightyObservable : ', Observable) // i get:
// TheAllmightyObservable : function Observable(subscribe) {
// this._isScalar = false;
// if (subscribe) {
// this._subscribe = subscribe;
// }
// }我与许多其他操作符()有相同的问题: ofObjectChanges、ofArrayChanges、ofWithSkeduler、结对--其中有些并不重要--但当我找到一个非常有用的RxJs操作符时,它会让我感到困扰,我无法在angular2 CLI项目中使用它。
问题:
"no property/method found on x"问题?非常感谢您抽出时间来阅读并帮助我找到解决这个问题的方法:
发布于 2016-07-29 18:12:09
根本问题:您使用的是RxJS的一个版本,但需要查看另一个版本的文档。
RxJS 5(β)与角2:https://github.com/ReactiveX/rxjs RxJS 4(稳定):https://github.com/Reactive-Extensions/RxJS
这些运算符在新版本中不存在,这就是为什么您看不到它们的原因。
对你的问题:
1) RxJS与Angular2没有任何关系,您可以使用没有Angular2的RxJS。RxJS只是一个创建事件流的库,它以正交化的方式操作,用于生成事件。
2)如果您使用的是RxJS 4,那么您可以使用非常好的文档。RxJS 5仍在进行中,但是有一些文档是由构建过程这里生成的。
( 3)在这种情况下,这不是一个打字问题。
https://stackoverflow.com/questions/38658582
复制相似问题