2012-09-26 4 views
5

Ich habe eine ziemlich große Ember.Application ("MyApp"). Ich habe es als eigenständige ember-kontrollierte Seite geschrieben, aber jetzt möchte ich N-Instanzen der Anwendung instanziieren, die auf einer bestehenden (nicht-ember) Seite gehostet werden.Wie sollte ich mehrere Instanzen derselben Ember.Application-Unterklasse auf derselben Seite strukturieren?

Ember-Dokumentation zu Ember.Application schlägt vor, dass die App sowohl der Klassen-Namespace UND der Stamm einer Singleton-Instanz sein sollte, aber in diesem Fall brauche ich einen Klassen-Namespace und mehrere Instanzen. Ich möchte die Klassen nicht pro Instanz einzeln laden, sie sind eigentlich ziemlich groß und Mobile ist ein wichtiger Anwendungsfall.

Zur Zeit habe ich:

MyApp = Ember.Application.create({ /* app state */); // namespace & instance 
MyApp.SomeSupportingClass1 = ... 

ist mein Impuls zu tun:

MyApp = Ember.Object.create(); // namespace 
MyApp.MyApp = Ember.Application.extend({ /* app state */ }); // instance class 
MyApp.myAppInstances = Ember.ArrayController.create(); // instances of MyApp.MyApp 
MyApp.SomeSupportingClass1 = ... 

wird dies zu Problemen führen? Gibt es einen "glatteren" Weg, dies zu strukturieren?

+1

ich mir die gleiche Frage stellte und diese gefunden: http://stackoverflow.com/questions/10271546/how-to-extension-namespaces-with-emberjs – GriffonRL

Antwort

2

Momentan glaube ich, Ihre einzige Option ist "Ember Islands".

Allerdings hat Godfrey die neueste Ergänzung zu Tilde, Inc. (wo Tom und Yehuda arbeiten), einige Arbeiten an FastBoot ausgeführt, die "Application Instances" enthalten werden. Sobald Godfreys Arbeit in Ember landet, hast du einen offiziellen Weg, dies zu erreichen.

Update:. Es lohnt sich auch einen Blick auf [Ember Engines] als eine Möglichkeit, zusammengenommen mehrere Anwendungen zu bringen (http://ember-engines.com/)

Verwandte Themen