【发布时间】:2012-09-18 02:53:16
【问题描述】:
我正在使用 EmberJS v1.0.pre 编写应用程序。我有一个ArrayController,其中包含所有人的列表。有一堆嵌套视图显示此人、他们的宠物以及每只宠物的备注。
|----------------------------------------|
| John | <- Person
|----------------------------------------|
| Quincy (Dog) | <- Pet
| - Super ornery | <- Note
| - Likes XYZ Dog food |
| - Will eat your socks |
| |
| Tom (Cat) |
| - Always (not) catching mice |
| |
|----------------------------------------|
| Roger |
|----------------------------------------|
| V (Dog) |
| - Likes XYZ Dog food |
| - Sneezes, but it's ok |
| |
|----------------------------------------|
| ... |
从纯 MVC 的角度来看,感觉应该为每个孩子都有一个控制器,但我不知道如何在 Ember 中实现这一点。有顶部的 Array 控制器,然后是所有单独的视图。如果我想删除或编辑笔记,似乎我需要将视图的上下文传递给控制器。
// in the view
click: function () {
this.get('controller').updateNote(this.get('content'))
}
这让我感觉很糟糕,视图不应该是数据的权威来源。我的假设是 ArrayController 将实例化 itemControlerClass 以及 itemViewClass。
更新:我创建了一个fiddle 来更好地说明我的问题。该功能是故意不完整的,目的是在单击列表中的项目时通过增加内容来完成功能。
更新:对不起,我不小心删除了小提琴!我正在为最终解决方案做一些工作,所以我将尝试使用该解决方案创建一个新的小提琴。
【问题讨论】:
-
该指南中没有关于我的问题的真实可靠信息。我以前读过它,我会继续参考它,但还没有找到任何东西。
-
我读过techiferous.com/2012/05/…,它很有帮助。但是,仍然无济于事。
标签: javascript model-view-controller ember.js