Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript angular2 CLI项目中缺少一些RxJS操作符?怎么办?_Typescript_Angular_Rxjs_Strong Typing_Rxjs5 - Fatal编程技术网

Typescript angular2 CLI项目中缺少一些RxJS操作符?怎么办?

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

我正在学习RxJS,我不断尝试许多我感兴趣的运算符和组合

我在这里学习形式:和

我有一个Angular2 rc4 CLI项目,所以我使用的是Typescript。RxJS是:5.0.0-beta.6

问题:

我发现一些运算符不存在于可观察对象上。

例如:我想创建一个observable,它逐个返回对象的键值对: 您可以看到实现的样子,正如我所说的

但我的编辑器是这样的:

没有可观察的智能。配对()

根据我对两种进口产品进行了分析:

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项目中使用它

问题:

  • angular2与RxJS有什么关系?(我想我缺少了一般的图片…)-是否有单独的angular2 rxjs操作符列表或rxjs是完全分离的包,并且可以像Jquery一样使用?我的意思是,这两个系统之间没有有线干扰,这是我无法预测的。(与周期相关的摘要?!)

  • 我在哪里可以找到angular2上可用的所有RxJS操作符的良好列表?假设存在

  • 这只是打字脚本的问题吗?如果是这样,如何安装它们,以便在文档中提供所有可用的操作员?如果没有可用的键入,如何暂时摆脱此
    “在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;
            // }
        // }