从 do() 转换为 tap() 从 Angular 2 到 Angular 6
Converting from do() to tap() from Angular 2 to Angular 6
我正在尝试使用 Kendo Grid
在 Angular 6
中为网格实施服务器端分页
下面的代码来自Angular 2
,我从下面的网站
https://www.c-sharpcorner.com/article/server-side-paging-in-kendo-grid-for-angular-2/
public ngAfterViewInit(): void {
this.grid.dataStateChange
.do(({ skip, take }: DataStateChangeEvent) => {
this.skip = skip;
this.pageSize = take;
})
.subscribe(x => this.service.query(x));
}
因为我使用的是 Angular 6
,所以在上面的代码中需要 tap
而不是 do
。
目前我正在为 do
发红,错误如下所示
Property 'do' does not exist on type 'EventEmitter<DataStateChangeEvent>'
这里如何使用tap
将其转换成可用的代码?
出于 tree shaking 的目的,RxJS 将其语法从 6.0 向上更改。
public ngAfterViewInit(): void {
this.grid.dataStateChange
.pipe(
tap(({ skip, take }: DataStateChangeEvent) => {
this.skip = skip;
this.pageSize = take;
})
)
.subscribe(x => this.service.query(x));
}
我正在尝试使用 Kendo Grid
Angular 6
中为网格实施服务器端分页
下面的代码来自Angular 2
,我从下面的网站
https://www.c-sharpcorner.com/article/server-side-paging-in-kendo-grid-for-angular-2/
public ngAfterViewInit(): void {
this.grid.dataStateChange
.do(({ skip, take }: DataStateChangeEvent) => {
this.skip = skip;
this.pageSize = take;
})
.subscribe(x => this.service.query(x));
}
因为我使用的是 Angular 6
,所以在上面的代码中需要 tap
而不是 do
。
目前我正在为 do
发红,错误如下所示
Property 'do' does not exist on type 'EventEmitter<DataStateChangeEvent>'
这里如何使用tap
将其转换成可用的代码?
出于 tree shaking 的目的,RxJS 将其语法从 6.0 向上更改。
public ngAfterViewInit(): void {
this.grid.dataStateChange
.pipe(
tap(({ skip, take }: DataStateChangeEvent) => {
this.skip = skip;
this.pageSize = take;
})
)
.subscribe(x => this.service.query(x));
}