如何每页有多个小部件?

时间:2014-01-29 23:13:40

标签: javascript ember.js

我是Ember.js的新手,过去几天我一直在研究Ember.js是否适合我正在进行的项目。我不知道widget是否适合在这里使用,但我不知道还有什么可以称之为。

我的应用需要在任何给定页面上显示多个“小部件”。例如,应用的主页可能会显示最近的新闻,系统更新和最近的帖子。在所有页面上可能有一个或多个无所不在的小部件(想想Facebook上的朋友列表)。

Ember.js可以处理吗?我读过的所有内容都将URI绑定到路由,将路由绑定到单个模型(或相同模型类型的集合)。我需要阅读哪些内容以了解有关如何实施我需要实施的内容的更多信息?

2 个答案:

答案 0 :(得分:0)

看看Ember Components,你可以传递一个模型,他们有一个自容器控制器/视图和模板,它们非常适合创建具有自包含逻辑的可重用UI元素。

对于无所不在的事情,您可以查看Application TemplateNested Routes。嵌套路由非常适合在UI中创建层次结构:

例如,您的页面页眉/页脚将在应用程序模板中,您有一个路径“/ posts”,其中包含侧栏上的帖子列表,然后是一个嵌套的路径“/ post”,它填充主要内容区域你的屏幕。如果您访问url / posts / 1,它将显示页眉/页脚(应用程序模板),帖子列表(帖子模板)以及ID为1的帖子内容(帖子模板)。

答案 1 :(得分:0)

就我个人而言,我不确定Ember是否适合你。 Ember的路由器就像堆栈一样实现。采取以下网址

#/clock/weather/time

当用户决定他们不想要clock窗口小部件时,它需要弹出网址上的所有项目以删除clock(销毁所有子视图)。

现在,如果网址本身不代表小部件,那么它可能是一个不同的故事。如果小部件基于用户设置并且不是由网址表示,那么它对您来说完全没问题。