【问题标题】:ember.js widgetsember.js 小部件
【发布时间】:2012-01-20 11:58:15
【问题描述】:
我知道 ember js 适用于单页应用程序,而且您似乎可以将 ember js 应用程序本地化到单个 dom 容器而不是整个页面,所以我想知道 ember js 是否适合高级应用程序小部件创建,不仅仅是一个稍微花哨的下拉菜单或其他任何东西,而是一个更复杂的小部件,它可以处理它自己的宁静资源等。或者以这种方式使用 ember.js 过大了?
如果它适用于小部件,当 ember 应用程序来自不同作者时,是否可以不必重新编码小部件以在同一页面上使用多个 ember 小部件应用程序,我的意思是我可以在同一页面上轻松拥有来自不同来源的多个 jquery 插件,而不会发生任何冲突。
【问题讨论】:
标签:
javascript
widget
ember.js
【解决方案1】:
Ember.js 对于复杂的小部件来说并不过分,并且完全可以在单个页面上使用多个 ember 小部件应用程序。但是,需要对代码进行一些修改。来自Ember.js code:
"默认情况下,Ember.Application 将开始监听
文档。如果您的应用程序嵌入在页面中,而不是
控制整个文档,您可以指定要使用哪个 DOM 元素
通过设置rootElement 属性附加到:
MyApp = Ember.Application.create({
rootElement: $('#my-app')
});
在课程期间不得删除 Ember.Application 的根
页面的生命周期。如果你只有一个概念
整个页面的应用程序,并且不嵌入任何第三方
页面中的 Ember 应用程序,使用默认的文档根目录
你的申请。
如果您的页面包含多个,您只需要指定根
Ember.Application 的实例。”
现在明显的问题是如何在加载 JavaScript 之前为每个小部件设置 rootElement。我可以想到很多方法来做到这一点,但最好的方法取决于你想要做的任何事情的设置。希望这能让您走上正确的道路。