哪些控制器跟踪演员和关系?
可能您ActorsController
将是一个带有演员列表的数组控制器,并且该列表将填充到SocialNetwork
路由的setupController
钩子中。可以对关系做同样的事情,或者它们可以通过参与者访问,这取决于你的模型数据的结构。
如何从 SocialNetwork 显示视图中调用它们?
添加needs: ['actors'] to
SocialNetworkController so that the property
controllers.actors` 将可用。
如何渲染 Actors 和 Relations 视图?
使用{{each}}
helper 来遍历参与者/关系列表,并指定 itemController 属性,以便将每个参与者包装在ActorController
{{#each actor in controllers.actors itemController="actor"}}
{{actor.name}} {{#if actor.isAwesome}}***AWESOME****{{/if}}
{{/each}}
如何创建 Actor/Relation Details Popover 视图?
假装它不是弹出窗口,让它工作,以便细节显示在某些 div 中,就好像你在做一个普通的主/细节视图一样。然后,一旦它开始工作,自定义详细视图的 didInsertElement fx 以便它显示在弹出窗口中。
您如何构建视图层次结构以实现此目的?
有很多方法可以做到这一点,这是一个(未经测试的)草图。我假设 GraphEditorView 会处理 SVG 的东西——否则这个视图并不是真正需要的。
<!-- social_network.hbs -->
<h3>Network Name: {{name}}</h3>
{{view "App.GraphEditorView"}}
<!-- graph_editor.hbs -->
<h3>Network Name: {{name}}</h3>
{{#each actor in controllers.actors itemController="actor"}}
<g class="actor" {{action showDetails}}>
<circle></circle>
<text>{{actor.name}}</text>
</g>
{{#if actor.isShowingDetails}}
{{render actorDetails actor}}
{{/if}}
{{/each}}
对一般问题感到抱歉,但我在 Ember 中实现它,因为它是一个绑定到数据的复杂视图,我不知道如何实现它。任何初步的见解都会很有用
不用担心。也许看到这个相关的帖子也许有助于了解这些概念如何应用于其他人的应用程序:ember.js 显示项目列表,每个项目都有自己的视图/控制器