猿问

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

我正在使用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.ts


ngOnInit() {

    this.event$ = this.store.pipe(select(fromEvent.getEvents));

}

它已经返回了我所有的对象,我想选择最后 10 个项目任何人都可以帮助我


忽然笑
浏览 100回答 1
1回答

红颜莎娜

您可以使用带有 props 的选择器来根据某些外部条件获取数据。在选择器中,我们可以像这样将 props 传递给选择器函数:选择器.ts&nbsp; export const getLastEvents = createSelector(&nbsp; &nbsp; &nbsp; getCounterValue,&nbsp; &nbsp; &nbsp; (events, props) => events.slice(Math.max(events.length - props, 1))&nbsp; &nbsp; );在组件中,您可以将道具传递给 select 方法以获取最后 10 条数据。ngOnInit() {&nbsp; &nbsp; this.event$ = this.store.pipe(select(fromEvent.getLastEvents,10));}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答