为了账号安全,请及时绑定邮箱和手机立即绑定

有什么方法可以获取可观察数组的最后 10 个对象

有什么方法可以获取可观察数组的最后 10 个对象

忽然笑 2023-04-01 15:44:11
我正在使用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 回答

?
红颜莎娜

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));

}


查看完整回答
反对 回复 2023-04-01
  • 1 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信