1

我有一个存储在服务器上的简单模型:

1. 服务器型号(或夹具)

availableHours:[{from,to},...]
holidays:[{from, to},...]
sales:[{from, to},...]

然而,在客户端上,这变成了一个相当复杂的二维矩阵,显示时间重叠,基于用户选择的不同渲染,所以在我解析和计算它之后的客户端上,它看起来像这样:

2.客户端模型

[
[{date:11/09, from:09:00, to:17:00, tags:['sales']},
{date:11/10, from:09:00, to:17:00, tags:[]}
],
//....
]

基本上是一个 2d 矩阵,一个时间跨度(从今天到用户选择的任何时间),我可以拍在桌子上,一个类似于日历的 UI,它会随着模型的变化而自动呈现和更新。所以现在当我检索下一组数据(#1)时,我会在客户端计算它以生成客户端模型(#2)。

检查 Ember 文档(入门),似乎我必须在服务器上计算 #2 模型并将其发送给客户端。这似乎与原始数据一样具有开销,正如您所看到的,它要小得多,非常适合通过 Internet 发送。第二个数据更大,但非常适合渲染到表格中。

我应该在 ember 中将什么定义为我的模型结构,#1 或 #2?如果它是#1,我如何计算和映射它以在用户进行更改时自动更改视图。

4

1 回答 1

0

虽然你的帖子对我来说不是很清楚,但这是我的理解。

我更喜欢第一种方式,因为它更清洁。

availableHours:[{from,to},...]
holidays:[{from, to},...]
sales:[{from, to},...]

我如何计算并映射它以在用户进行更改时自动更改视图。

正如您在帖子中所说,计算将在客户端对retrieve第二组data. 您可以通过valueBinding属性将视图绑定到模型,该属性会在模型更改时自动更改视图。

您还可以使用computed properties来监听模型中发生的变化

于 2013-09-13T16:14:33.690 回答