状态

时间:2018-01-08 18:57:48

标签: angular ngrx

我有一个看起来像这样的ngrx状态:

{
  dashboards: Dashboard[];
  selectedDashboard: number
}

我为Dashboard创建了一个entityAdapter,效果很好。仪表板类型还包含窗口小部件列表。所以我想以某种方式将其标准化,以便我可以通过id选择一个小部件。我不知道如何在同一类型上创建另一个实体。我正在考虑添加到州,所以它看起来像这样:

{
  dashboards: Dashboard[];
  selectedDashboard: number;
  widgets: Widget[]
}

我遇到了问题虽然看起来我不能为它创建选择器,除非我让小部件扩展EntityState。对于entityAdapter for widget的selectId,我也需要在widget中使用id。我正在努力做的还是我的设计不好?

1 个答案:

答案 0 :(得分:0)

所以我最终做的是为小部件创建一个功能状态。然后,仪表板状态只包含窗口小部件属性的键数组。它会监听小部件的相同操作,但不是添加整个内容,而只是添加密钥。因为我真的需要它用于ngFor

,所以效果更好