2011-12-14 51 views
7

我知道,烬js是单页面应用程序的好处,它似乎可以本地化烬js应用程序到一个dom容器,而不是整个页面,所以我想知道如果烬js会是一个非常适合高级窗口小部件的创建,而不仅仅是一个稍微花哨的下拉菜单或者其他更复杂的窗口小部件,它可能会处理它自己的restful资源等等。或者是以这种方式使用ember.js矫枉过正?ember.js小部件

如果它适用于窗口小部件,当应用程序应用来自不同的作者时,是否有可能不必重新编码窗口小部件以在同一页面上使用多个窗口小部件应用,我的意思是我可以很容易地从同一页面上的不同来源获得多重jQuery插件,而不会产生任何冲突。

+0

看起来与http:// stackoverflow有关。 COM /问题/ 11571896 /你,不能使用最同根元素体多时间,在-AN-余烬,applicati – iX3 2012-09-27 20:18:43

回答

10

对于复杂的小部件,Ember.js不会过度,它完全可以在单个页面上使用多个小部件应用程序。但是,需要修改一些代码。从Ember.js code

“默认情况下,Ember.Application将开始监听在 文档事件如果你的应用程序中嵌入一个页面内,而不是 控制整个文档,你可以指定哪些DOM元素

MyApp = Ember.Application.create({ 
     rootElement: $('#my-app') 
    }); 

一个Ember.Application的根不能过程过程中除去:到 通过设置rootElement属性附加到页面的生命周期。如果您的整个页面只有一个概念性的 应用程序,并且没有在您的页面中嵌入任何第三方Ember应用程序,请使用您的应用程序的默认文档根目录 。

你只需要,如果你的页面包含Ember.Application的多个实例 指定的根源。”

现在最明显的问题是如何设置rootElement的每一个这些小部件之前,它的JavaScript加载完成后。我可以想到很多方法,但最好的方法取决于你想要做什么的设置。希望这可以让你走上正确的道路。