2

我正在构建一个需要三个组件的 EmberJS 应用程序。项目列表、每个项目的详细视图和每个项目的编辑视图。在这种特殊情况下,我还没有找到任何关于如何管理数据的好的解释或示例。

你可以在这个要点上找到我现在所拥有的简化和清理的示例:https ://gist.github.com/2390740

我想避免的是拥有两个数据副本,但我能够将数据放入详细视图的唯一方法是制作它的副本,这远非理想。

有没有办法从 DetailController 引用 ListController 中数组中的项目?这样,当项目在详细视图中更新时,列表视图会随着更改自动更新。

我想要实现的是 ListController 加载一个包含每个项目的基本信息的列表,然后 DetailController 加载所选项目的所有可用信息。如果列表和详细视图的客户端数据存储可能相同,那么如果用户返回到已加载的项目,DetailController 就不必再次加载详细信息。另一个好处是,如果用户更改任何内容然后返回列表,列表视图就已经是最新的了。

注意:我知道此示例中缺少编辑视图,我只是想让详细视图和列表之间的数据绑定首先起作用。

4

1 回答 1

0

我在我的提要阅读器 ember 应用程序中正是这样做的。做到这一点的方法是有一个带有内容属性的 detailController。将所有详细视图的内容绑定到 detailController。在 listcontroller 中选择一个项目应该将 detailcontroller 的 content 属性设置为该项目。完毕!

于 2012-04-16T13:19:52.663 回答