过滤状态在哪里?

新手问题:我有一个使用ngrx的angular2应用程序,我有一个服务,它将状态(可观察数组)返回给一个组件.

我的问题是,如果我想在组件中使用它的只读子集,我在哪里过滤状态?

我是在减速机,服务还是组件中进行的?

解决方法

可以在 ngrx example application中找到一些指导.有一种模式,其中选择器被定义为 alongside reducers

/**
 * Because the data structure is defined within the reducer it is optimal to
 * locate our selector functions at this level. If store is to be thought of
 * as a database,and reducers the tables,selectors can be considered the
 * queries into said database. Remember to keep your selectors small and
 * focused so they can be combined and composed to fit each particular
 * use-case.
 */
export function getBookEntities() {
  return (state$: Observable<BooksState>) => state$
    .select(s => s.entities);
};

那些选择器是used in (smart) components来选择/过滤状态:

...
export class CollectionPage {

  books$: Observable<BooksInput>;

  constructor(store: Store<AppState>) {
    this.books$= store.let(getBookCollection());
  }
}

此模式/机制可用于过滤组件或服务中的状态 – 最适合您的体系结构.

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...