【发布时间】:2013-03-17 00:19:07
【问题描述】:
Ember 中的嵌套对象有很多(痛苦的)问题。我认为我可能以错误的方式处理事情,因为我怀疑这是相当标准的做法。
假设我有一个“有很多”B 的对象 A,每个 B“有很多”C 等等(这种架构基本上与我的关系数据库架构匹配)。
我不需要这些嵌套路由,所以我认为渲染像 A 这样的对象的一种自然方法是使用部分。比如:
A 的模板:
...A stuff...
{{#each Bs}}
{{ partial "show_B" }}
{{/each}}
等等。
问题是我希望子对象有自己的控制器。我知道自 RC1 (http://emberjs.com/blog/2013/02/15/ember-1-0-rc.html) 以来有新的 itemController,它很有用,但在某种程度上受到了限制。假设在层次结构的更下方,每个 C 对象都有一个 D 对象。所以 C 模板看起来像这样:
... C stuff...
{{#with c.D}}
{{ partial "show_D" }} // How do I get this partial to have its own controller?
{{/with}}
我想新的{{control}} 在这里可能会有所帮助,但我在使用它时遇到了很多麻烦(上下文设置不正确)。此外,在我看来,如果它刚刚被添加(并且仍在开发中),这可能意味着应该有另一种方法来做到这一点。最后,使用两个不同的 API 感觉有点奇怪:“itemController”用于项目列表,“{{control}}”用于单个项目——归根结底,我只是想将一个对象绑定到一个两种情况下的控制器。
有人可以在这里指出我正确的方向吗?
谢谢!
PJ
【问题讨论】:
标签: ember.js