我正在构建一个需要三个组件的 EmberJS 应用程序。项目列表、每个项目的详细视图和每个项目的编辑视图。在这种特殊情况下,我还没有找到任何关于如何管理数据的好的解释或示例。
你可以在这个要点上找到我现在所拥有的简化和清理的示例:https ://gist.github.com/2390740
我想避免的是拥有两个数据副本,但我能够将数据放入详细视图的唯一方法是制作它的副本,这远非理想。
有没有办法从 DetailController 引用 ListController 中数组中的项目?这样,当项目在详细视图中更新时,列表视图会随着更改自动更新。
我想要实现的是 ListController 加载一个包含每个项目的基本信息的列表,然后 DetailController 加载所选项目的所有可用信息。如果列表和详细视图的客户端数据存储可能相同,那么如果用户返回到已加载的项目,DetailController 就不必再次加载详细信息。另一个好处是,如果用户更改任何内容然后返回列表,列表视图就已经是最新的了。
注意:我知道此示例中缺少编辑视图,我只是想让详细视图和列表之间的数据绑定首先起作用。