我在使用ember 0.9.8.1
时遇到错误You cannot use the same root element (body) multiple times in an Ember.Application
知道这是怎么回事?关于我应该在哪里研究的一些建议?
感谢。
答案 0 :(得分:13)
您无法将多个Ember应用程序绑定到同一个DOM元素,因为它会与DOM维护发生冲突。
然而,您可以在同一页面中实现多个Ember应用程序。尝试类似的东西:
App1 = Ember.Application.create({
rootElement: '#app1'
});
App1.ApplicationController = Ember.Controller.extend();
App1.ApplicationView = Ember.View.extend({
templateName: 'app1-view'
})
App1.Router = Ember.Router.extend({
root: Ember.Route.extend({
index: Ember.Route.extend({
path: '/'
})
})
});
App2 = Ember.Application.create({
rootElement: '#app2'
});
App2.ApplicationController = Ember.Controller.extend();
App2.ApplicationView = Ember.View.extend({
templateName: 'app2-view'
})
App2.Router = Ember.Router.extend({
root: Ember.Route.extend({
index: Ember.Route.extend({
path: '/'
})
})
});
在这里,我们使用rootElement
属性显式设置应用程序将绑定的DOM元素。
默认情况下,Ember应用绑定到body
,因此如果您有两次,则会发生冲突......