Rx.Observable.prototype.skip 未定义
Rx.Observable.prototype.skip is undefined
我有 Angular 2 个应用程序,代码如下:
nextPage() {
this.currentPage += 1;
this.files = this._rawFiles
.skip((this.currentPage - 1) * 100)
.take(100);
}
它returns出现以下错误:
ORIGINAL EXCEPTION: TypeError: this._rawFiles.skip is not a function
this._rawFiles
是由 Angular 的 Http
服务生成的,所以它应该使用 RxJS。这是打印到控制台时的样子:
好像是一个Observable,但是只有几个方法。为什么 Rx.Observable.prototype.skip(count)
不在那里?
package.json
的相关部分如下所示:
"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,不是某种轻量级版本。它不应该包括所有方法吗?
添加
import 'rxjs/add/operator/skip';
您也可以使用
一次性全部导入
import 'rxjs/Rx';
但这违背了模块化的目的,并且不必要地增加了代码输出大小。
如果要包含所有方法,请使用:
import 'rxjs/Rx';
如果您只想包含 skip()
方法,请使用:
import 'rxjs/add/operator/skip';
Rx 被设计成模块化的,所以并不是所有的代码都加载到内存中。
我有 Angular 2 个应用程序,代码如下:
nextPage() {
this.currentPage += 1;
this.files = this._rawFiles
.skip((this.currentPage - 1) * 100)
.take(100);
}
它returns出现以下错误:
ORIGINAL EXCEPTION: TypeError: this._rawFiles.skip is not a function
this._rawFiles
是由 Angular 的 Http
服务生成的,所以它应该使用 RxJS。这是打印到控制台时的样子:
好像是一个Observable,但是只有几个方法。为什么 Rx.Observable.prototype.skip(count)
不在那里?
package.json
的相关部分如下所示:
"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,不是某种轻量级版本。它不应该包括所有方法吗?
添加
import 'rxjs/add/operator/skip';
您也可以使用
一次性全部导入import 'rxjs/Rx';
但这违背了模块化的目的,并且不必要地增加了代码输出大小。
如果要包含所有方法,请使用:
import 'rxjs/Rx';
如果您只想包含 skip()
方法,请使用:
import 'rxjs/add/operator/skip';
Rx 被设计成模块化的,所以并不是所有的代码都加载到内存中。