【发布时间】:2018-05-13 23:32:18
【问题描述】:
我有一个 angular 5 应用程序,其中包含一个用于我的小部件的 ngrx 商店,这些小部件与后端 (socket.io) 一起存储。 这就是我的小部件的外观。
widgets: {
1: {
id: 1,
type: 'datatable',
startDate: startDate,
endDate: endDate,
dataStream: ''
},
2: {
id: 2,
type: 'chart',
startDate: startDate,
endDate: endDate,
dataStream: ''
}
}
每个小部件都有一个开始日期和一个结束日期。我已经有了一些用于加载、添加和更新我的 ngrx 商店和组件中的小部件的效果和操作。 组件是基于此小部件创建的,可以是图表或数据表。每个小部件都应该从后端获取数据流(列、行、数据点)。
我的问题是如何使用 ngrx 实现这一点?我应该将完整的数据对象从后端加载到小部件项还是从我的ngrx 商店获取基于小部件的数据的最佳方法。
【问题讨论】:
-
每个小部件有多大,有多少小部件?此外,这些小部件如何/谁/多久更新一次?这些问题的答案决定了您是否想设计一种懒惰与急切的机制。
-
@MoMo 小部件的数量不同。它可以从 1 到 30。数据流的大小可以非常大。例如一个有 60 列和 10000 行的表。这就是为什么我不知道该怎么做。
-
而且我必须使用 SocketIO (WebSockets),因为如果后端中的数据被修改,我需要后端可以更新客户端的能力。
-
所以一个小部件最多有 600000 个单元格?每个单元格平均有多少字节(即每个小部件有多少最大字节)?另外,一次可以看到多少个小部件细节?所有细节是否同时可见或可滚动? UI 也推动了最佳方法。 @彼得
-
另外,请澄清小部件详细信息是否由客户或其他地方编辑?如果您正在对客户端更改进行套接字更改,您是乐观地管理编辑(最新保存获胜)还是悲观地(签出/签入)?