在ember.js中加载多个插座的动态数据

时间:2013-10-08 17:55:59

标签: ember.js

我刚刚开始使用Ember.js,我无法弄清楚如何在多个插座中加载动态数据。基本上,我想这样做:http://cl.ly/image/0H0e1a2j1x0I

在第一部分中:点击菜单并更新正确的内容。 在第二部分:单击菜单“circle”并更新下面的内容。

我不知道正确的解决方案,我开始做嵌套路线,但似乎不是正确的方法。

如果有人有提示那就太棒了!

由于

1 个答案:

答案 0 :(得分:0)

您可以采取至少三种方法。

1 。既然你提到多个插座,那么你可以使用嵌套路线。您可以使用每个路径的renderTemplate函数中的render方法一次指定渲染多个出口。查看一个显示此方法的小提示线程Ember template chaining 单独的出口意味着单独绑定的模型和控制器,但可以根据URL轻松呈现状态。例如,如果您选择新闻稿/文章并且信息显示在右侧,则网址将类似于yourapp /#/ all-info / press,并且可以添加书签并轻松重新呈现。

例如,在您的情况下,它可以应用为具有显示页面和菜单( yourapp /#/ all-info )的插座,用于显示正确部分的嵌套插座( yourapp /#/ all-info / company,yourapp /#/ all-info / press,yourapp /#/ all-info / media等),圆形菜单的嵌套插座(yourapp /# / all-info / features ),循环的每个细节的嵌套出口即( yourapp /#/ all-info / features / journalists,.... / features / in-place,... ./features/responsive等)。然后你可以使用路线和渲染方法,以便按照自己的意愿进行组合。

2 。页面模板中每个细分的多个视图。 http://emberjs.com/guides/views/inserting-views-in-templates/。这意味着您将在视图中共享指定路径的模型。这既可以用于整个页面(单个出口),也可以用于某些段的组合,并且可以与第一个方法的几个出口组合。

例如,在您的情况下,整个页面的一个插座或顶部的一个插座(侧面菜单和详细信息),底部的一个插座(ciruclar菜单和详细信息)。然后,每个视图可以具有单独的菜单和视图视图,以获得最终有2个容器视图顶部和底部以及4个视图主菜单详细信息的菜单和详细信息。

3 。仅使用一个模板将模型呈现给不同的细分。也许是最糟糕的方法,但在将其分解为前面提到的解决方案之前,它可以用于快速原型。