我正在构建一个需要三个组件的EmberJS应用程序。项目列表,每个项目的详细视图以及每个项目的编辑视图。我没有找到任何关于如何在这种特定情况下管理数据的好的解释或示例。
您可以在此要点找到我现在所获得的简化清理示例:https://gist.github.com/2390740
我想避免的是拥有两份数据副本,但我能够将数据输入详细视图的唯一方法就是复制它,这远非理想。
有没有办法从DetailController引用ListController中的数组中的项?这样,当在详细视图中更新项目时,列表视图会自动更新。
我想要实现的是ListController加载一个列表,其中包含有关每个项目的基本信息,然后DetailController加载所选项目的所有可用信息。如果客户端数据存储对于列表和详细视图可以是相同的,则如果用户返回已经加载的项,则DetailController将不必再次加载详细信息。另一个好处是,如果用户更改了任何内容,列表视图已经是最新的,然后返回列表。
注意:我知道在这个例子中缺少编辑视图,我只是想让详细视图和列表之间的数据绑定先工作。
答案 0 :(得分:0)
我在feed reader ember application中做到了这一点。 执行此操作的方法是使用具有content属性的detailController。 将所有详细视图内容绑定到detailController。选择listcontroller中的项目应该将detailcontroller的content属性设置为该项目。完成!