2013-04-03 64 views
0

我试图实现一个非常单一的应用程序,但我有一个(可能是愚蠢的)问题。EmberJS:渲染视图时出现

我有一个主页,其中有一个链接,用于呈现相册集合的相册。

单击相册应显示相册。

一切正常,除非当我点击一张专辑没有任何反应。

我希望要显示它....

你可以在这里尝试活生生的例子:不再有效。

并且源代码存在:不再有效。

谢谢,这可能是愚蠢的,但我找不到为什么它不工作!

回答

2

我想,缺少一个插座。您的AlbumResource嵌套在专辑路线中。因此,专辑路线的模板应包含{{outlet}}。 插座是Ember插入视图的地方。默认情况下,Embers会尝试在当前活动模板(您的案例中的相册)中找到出口,并尝试在其中注入ChildView(在您的情况下为AlbumView)。

<h1>Posts</h1> 
<ul> 
{{#each album in controller}} 
    <li>{{#linkTo 'album' album}}{{album.name}}{{/linkTo}}</li> 
{{else}} 
    <li>There are no albums.</li> 
{{/each}} 
</ul> 
{{outlet}} 

备注:注意,它几乎是无用的SO问题联系起来这样一个复杂的设置。这很难阅读,而且我发现它(只要我有)就是运气。更好地设置一个小提琴,或者至少将现场实例与未分类的源相关联。

+0

你的答案帮助很大!它现在“有用”,但我不想在点击相册时看到相册列表。的确,专辑只显示在专辑的底部。任何想法 ? – Arkan 2013-04-03 20:03:34

+0

引用Yehuda Katz:“如果你的UI嵌套,你的路线/资源应该嵌套。”如果您的用户界面不嵌套,请勿嵌套您的路线。将资源拉到顶层而不是嵌套它;-) – mavilein 2013-04-03 20:05:09

+0

我告诉过你这是一个愚蠢的问题:)现在一切都按预期工作。非常感谢 :-) – Arkan 2013-04-03 20:13:28