我正在使用ngrx实体适配器selectAll。它返回一个对象类型(事件)的可观察列表。我只想得到它的最后 10 个对象。这是我的选择器const geteventsFeatureState = createFeatureSelector<EventState>( "events");export const getEvents = createSelector( geteventsFeatureState, eventAdapter.getSelectors().selectAll);export const getEventLoading = createSelector( geteventsFeatureState, (state: EventState) => state.loading);export const getEventLoaded = createSelector( geteventsFeatureState, (state: EventState) => state.loaded);export const getError = createSelector( geteventsFeatureState, (state: EventState) => state.error);这是我的 component.tsngOnInit() { this.event$ = this.store.pipe(select(fromEvent.getEvents));}它已经返回了我所有的对象,我想选择最后 10 个项目任何人都可以帮助我
1 回答
![?](http://img1.sycdn.imooc.com/54584dd900014f6c02200220-100-100.jpg)
红颜莎娜
TA贡献1842条经验 获得超12个赞
您可以使用带有 props 的选择器来根据某些外部条件获取数据。在选择器中,我们可以像这样将 props 传递给选择器函数:
选择器.ts
export const getLastEvents = createSelector(
getCounterValue,
(events, props) => events.slice(Math.max(events.length - props, 1))
);
在组件中,您可以将道具传递给 select 方法以获取最后 10 条数据。
ngOnInit() {
this.event$ = this.store.pipe(select(fromEvent.getLastEvents,10));
}
添加回答
举报
0/150
提交
取消