【问题标题】:Data handling of list + details + edit views in a EmberJS appEmberJS 应用程序中列表 + 详细信息 + 编辑视图的数据处理
【发布时间】:2012-04-26 23:21:39
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

  • 我找到了一个稍微好一点的方法,将 currentItem 更改为计算属性,并且只将索引复制到当前项。这更多是我试图实现的目标,但我会留下一个问题,即是否有更好的方法来解决这个问题。

标签: javascript data-binding ember.js


【解决方案1】:

我在feed reader ember application 中就是这样做的。 做到这一点的方法是有一个带有 content 属性的 detailController。 将所有详细视图的内容绑定到 detailController。在 listcontroller 中选择一个项目应该将 detailcontroller 的 content 属性设置为该项目。完成!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多