首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rx.Observable.prototype.skip未定义

Rx.Observable.prototype.skip未定义
EN

Stack Overflow用户
提问于 2016-04-17 11:49:10
回答 2查看 537关注 0票数 4

我有一个具有以下代码的角2应用程序:

代码语言:javascript
复制
  nextPage() {
    this.currentPage += 1;
    this.files = this._rawFiles
      .skip((this.currentPage - 1) * 100)
      .take(100);
  }

它返回以下错误:

代码语言:javascript
复制
ORIGINAL EXCEPTION: TypeError: this._rawFiles.skip is not a function

this._rawFiles是由角的Http服务产生的,所以它应该使用RxJS。下面是打印到控制台时的样子:

这似乎是一个可观察的,但只有少数方法是存在的。为什么Rx.Observable.prototype.skip(count)不在里面?

下面是package.json的相关部分:

代码语言:javascript
复制
  "dependencies": {
    "@angular2-material/button": "^2.0.0-alpha.1",
    "@angular2-material/card": "^2.0.0-alpha.1",
    "@angular2-material/checkbox": "^2.0.0-alpha.1",
    "@angular2-material/core": "^2.0.0-alpha.1",
    "@angular2-material/progress-circle": "^2.0.0-alpha.1",
    "@angular2-material/radio": "^2.0.0-alpha.1",
    "@angular2-material/sidenav": "^2.0.0-alpha.1",
    "@angular2-material/toolbar": "^2.0.0-alpha.1",
    "angular2": "2.0.0-beta.12",
    "core-js": "^2.1.5",
    "rxjs": "5.0.0-beta.2",
    "zone.js": "0.6.6"
  },

它只是一个普通的RxJS,而不是某种轻的版本。不应该包括所有的方法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-17 11:52:20

如果要包含所有方法,请使用:

代码语言:javascript
复制
import 'rxjs/Rx';

如果只想包含skip()方法,请使用:

代码语言:javascript
复制
import 'rxjs/add/operator/skip';

Rx被设计成模块化的,所以并不是所有的代码都被加载到内存中。

票数 3
EN

Stack Overflow用户

发布于 2016-04-17 11:50:39

添加

代码语言:javascript
复制
import 'rxjs/add/operator/skip';

您也可以一次导入所有

代码语言:javascript
复制
import 'rxjs/Rx';

但这违背了模块化的目的,不必要地膨胀了代码的输出大小。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36676085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档