- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在学习 RxJS,我不断尝试许多我觉得有趣的运算符和组合。
我在这里学习表格:http://reactivex.io/documentation/operators.html和 here .
我有一个 Angular2 rc4 CLI 项目 - 所以我使用的是 Typescript。 RxJS 是:5.0.0-beta.6
问题:
我发现 Observable 上没有一些运算符。
例如:我想创建一个可观察对象,它返回一个对象的一对一键值对:你可以看到实现的样子,正如我所接受的那样from here .
// 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..
基于 this post我添加了 2 个导入:
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.
此外,我无法解释为什么无法将 Observable 对象打印到控制台。我得到了一个无用的 string-function
。没有原型(prototype)的东西。
console.log('TheAllmightyObservable : ', Observable) // i get:
// TheAllmightyObservable : function Observable(subscribe) {
// this._isScalar = false;
// if (subscribe) {
// this._subscribe = subscribe;
// }
// }
我有与许多其他运算符相同的问题:ofObjectChanges、ofArrayChanges、ofWithSkeduler、pairs——其中一些不是那么重要——但当我发现一个非常有用的 RxJs 运算符时,它让我很烦恼,我不能在 angular2 CLI 项目中使用它。
问题:
angular2 与 RxJS 有什么关系? (我想我错过了一般图片..) - 是否有一个单独的 angular2-rxjs 运算符列表或 RxJS 是完全独立的包,并且可以像 Jquery 一样使用?我的意思是两者之间没有有线干扰——我无法预测。 (可能与摘要周期有关?!)
我在哪里可以找到 angular2 上可用的所有 RxJS 运算符的良好列表 - 假设存在。
这只是一个 Typescript - 打字问题吗?如果是这样,如何安装它们以便拥有文档中可用的所有运算符?如果没有可用的类型,如何暂时摆脱这个“no property/method found on x”
问题?
非常感谢您花时间阅读并帮助我找到解决方案:)
最佳答案
根本问题:您正在使用一个版本的 RxJS,但正在查看另一个版本的文档。
与 Angular 2 一起使用的 RxJS 5(测试版):https://github.com/ReactiveX/rxjsRxJS 4(稳定):https://github.com/Reactive-Extensions/RxJS
这些运算符在新版本中不存在,这就是您看不到它们的原因。
您的问题:
1) RxJS 与 Angular2 没有任何关系,你可以在没有 Angular2 的情况下使用 RxJS。 RxJS 只是一个用于创建事件流的库,它与您用来生成 事件的东西正交运行。
2) 如果您使用的是 RxJS 4,那么您可以使用 docs这是相当不错的。 RxJS 5 仍在进行中,但构建过程会生成文档 here .
3) 在这种情况下,这不是打字问题。
关于typescript - angular2 CLI 项目中缺少一些 RxJS 运算符?该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38658582/
我在全局范围内安装了最新的 angular-cli,并且我的项目正在成功构建。 在阅读另一个问题的建议解决方案时,(https://github.com/angular/angular-cli/iss
根据official docs关于 .angular-cli.json 配置文件,仅支持 main、test、polyfills 作为 webpack 入口文件。 如何通过定义 .angular-cl
我想在s3存储桶中搜索文件名abc.zip,并且有将近60个存储桶,每个存储桶都有2到3个级别的子目录或文件夹。我尝试使用AWS CLI命令执行搜索,以下是我尝试过的命令,但即使文件存在于存储桶中,也
我正在尝试在 C++/CLI 中查找赋值运算符和复制构造函数的示例。我在 Google 上花了很多时间,但令人惊讶的是我找不到一个看起来很常见的例子。 最佳答案 .NET 语义没有复制构造函数或赋值运
我需要获取另一个窗口的句柄。 这是它的代码: private: System::Void btn_find_Click(System::Object^ sender, System::EventAr
有点好奇实际上有多少人使用 C++/CLI?那么有多少人在使用它呢?人们是否只在托管环境下寻找程序员的特定工作?围绕 c++/cli 的社区有多大?从我目前看到的情况来看,有不少语法变化,作为 C++
我正在阅读一些 C++/CLI Material ,并且遇到了文字字段的概念: literal int inchesPerFoot = 12; 这是否比 const 更可取,因为 const FIEL
通过 npm install -g angular-cli@latest 安装 Angular CLI (angular-cli@1.0.0-beta.16) 失败,出现以下错误 npm-debug.
我正在尝试在我的 Ember CLI 应用程序中配置适配器以根据环境使用不同的主机。在开发中,我希望它是默认的当前主机(让我通过 --proxy 选项自定义它,但在生产中我知道它将是 http://s
我最近开始使用 Angular/CLI 工具,我在执行文件时遇到了一个问题,那就是我运行时 ng serve 那么这个命令可以帮助我们在源文件中进行任何更改时自动重新加载站点,但在我的系统中它没有发生
是否有推荐的方法通过 c++ cli 包装 native c++ 库? 最佳答案 不确定是否一种尺寸适合所有人,但是,是的,这很大程度上是一个机械过程。您的 ref 类包装器应该声明一个私有(priv
我有一个关于为要在 C# 中使用的 native C++ 类创建 C++ CLI 包装器的问题。 这是一个示例代码: #include "stdafx.h" #pragma once using na
下面的代码打印 0 和 3。这是代码生成错误吗?我在 .NET 4.0 下使用 Visual Studio 2012 Update 3 RC 运行它 #include "stdafx.h" using
它是如何工作的?它是否有不同的部分 - 有些方法是托管的,有些是非托管的,它是否将每个方法都转换为托管的,试图保持所有东西都处于托管状态并在必须时进行互操作调用? 最佳答案 三种不同的compiler
如果我没记错的话,函数必须是 CLR 世界中类的成员,而全局函数在 C++/CLI 中是可能的。这是否意味着这些全局函数是某种隐藏的“全局”类的一部分?如果是这样,出于反射目的,人们将如何获取其类型?
如何在 Angular 中重建我的项目。我首先使用 ng build 构建它,但无法再次执行该命令,因为它不会让我更改文件夹。 我收到此错误消息: EPERM:不允许操作,lstat 是否有另一个命令
我遇到了两个相互引用的类的问题。我曾尝试使用接口(interface)来解决问题,但遇到了其他问题,例如类重新定义。我只是不确定如何正确执行此操作。 这是我正在做的事情的一个例子。注意:我已经去掉了所
我是 React.js 的新手,我正在尝试从 tutorialspoint 上的教程中学习但我遇到了错误。这是我执行 npm start 命令时控制台上的错误: C:\Users\HP\Desktop
我正在尝试将我的 angular cli 和 angular core 从 12 升级到 13,但看起来存在对等依赖性问题。有人遇到过这个问题吗? npx @angular/cli@13 update
我正在我的 ubuntu 上安装 influxdb_2.0.9,我按照这里的说明操作: https://docs.influxdata.com/influxdb/v2.0/install/?t=Lin
我是一名优秀的程序员,十分优秀!