2012-09-26 30 views
5

Tôi có một Ember.Application hợp lý lớn ("MyApp"). Tôi đã viết nó như là một trang độc lập được kiểm soát bởi các ember, nhưng bây giờ tôi muốn khởi tạo N-instances của ứng dụng được lưu trữ bên trong một trang hiện có (không phải là ember).Tôi nên cấu trúc nhiều phiên bản của cùng một lớp con Ember.Application trên cùng một trang?

Tài liệu Ember trên Ember.Application cho rằng ứng dụng phải là cả không gian tên lớp AND gốc của một cá thể đơn, nhưng trong trường hợp này, tôi cần một không gian tên lớp và nhiều phiên bản. Tôi không muốn tải các lớp riêng biệt cho mỗi trường hợp, chúng thực sự là khá lớn và di động là một trường hợp sử dụng chính.

Hiện nay tôi có:

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

xung của tôi là để làm:

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 = ... 

Will này gây ra vấn đề? Có cách nào khác 'ember-y' để cấu trúc này?

+1

Tôi đã tự hỏi mình những câu hỏi tương tự và thấy điều này: http://stackoverflow.com/questions/10271546/cách mở rộng-không gian tên-với-emberjs – GriffonRL

Trả lời

2

Hiện tại, tôi tin tùy chọn duy nhất của bạn là "Ember Islands".

Tuy nhiên, Godfrey bổ sung mới nhất cho Tilde, inc (ở đâu Tom và Yehuda làm việc), đã làm một số công việc trên FastBoot bao gồm "Application Instances". Một khi công việc của Godfrey hạ cánh ở Ember, bạn sẽ có một cách thức chính thức để đạt được điều này.

Cập nhật:. Nó cũng đáng tham gia một cái nhìn tại [Ember Engines] như là một cách để mang lại nhiều ứng dụng với nhau (http://ember-engines.com/)

Các vấn đề liên quan