4

我想将 ember 与小部件方法(孤立的组件)一起使用,为
Ember 应用程序设置 rootElement,每个应用程序都有自己的路由器和存储(如有必要)。

我在http://jsfiddle.net/4xWep/2/中做了一次不成功的尝试, 也许路由器实例之间存在干扰问题。它已经感觉到这种小部件方法,具有不同的应用程序和路由器?

App1 = Ember.Application.create({
  rootElement: '#app1'
});

App1.ApplicationController = Ember.Controller.extend();
App1.ApplicationView = Ember.View.extend({
  templateName: 'app1-view'
})

App1.Router = Ember.Router.extend({...})

var App2 = Ember.Application.create({
    rootElement: '#app2'
});

App2.ApplicationController = Ember.Controller.extend();
App2.ApplicationView = Ember.View.extend({
  templateName: 'app2-view'
})

App2.Router = Ember.Router.extend({...})
4

1 回答 1

2

问题是您的两个应用程序的路由器使用location.hash来序列化它们的状态发生冲突。

在同一个页面中不能有两个应用程序依赖散列路由持久化策略。

我什至会说,在我看来,你想要实现的不是经典的“小部件”,因为它们将具有复杂的状态(如每个内部路由的意愿所示) ......当然你应该多挖一点你的架构。也许您需要的不是两个应用程序,而是小部件,或者另一方面,多个应用程序,但不是直接呈现在同一个文档中。

也许这个(相关的?)问题会有所帮助。

于 2012-10-17T14:53:13.083 回答