2011-12-14 24 views
7

Tek sayfa uygulamaları için ember js'nin iyi olduğunu biliyorum ve ember js uygulamasını tüm sayfa yerine tek bir dom konteynerine yerelleştirebiliyorsunuz. Gelişmiş pencere öğesi oluşturma için iyi bir uyum, sadece hafif bir açılır kapanma ya da bir şey ama kendi kısıtlı kaynağı ile ilgilenen daha karmaşık bir widget vb. Ya da ember.js bu şekilde overkill kullanıyor?ember.js widgets

Widget'lar için uygunsa, ember uygulamaları farklı yazarlardan geldiğinde, aynı sayfada birden fazla ember widget uygulaması kullanmak için widget'ları yeniden derlemek zorunda kalmadan mümkün olabilirdi. Herhangi bir çakışma olmadan aynı sayfadaki farklı kaynaklardan kolayca çoklu jant eklentileri olabilir.

+0

http: // stackoverflow ile ilgili olarak görünüyor. com/sorular/11571896/sen-can not-use--aynı-kök-element-beden-çoklu-kat-içinde-bir-kor-Uyg – iX3

cevap

10

Ember.js karmaşık gereçler için çok fazla zor olmaz ve tek bir sayfada birden fazla ember widget uygulaması kullanmak tamamen mümkündür. Ancak, küçük bir kod değişikliği olması gerekecek. Ember.js code Gönderen:. Varsayılan olarak

", Ember.Application belgenin olayları dinleyerek başlayacak uygulamanız bir sayfa içine gömülü olduğu, onun yerine ait belgenin tamamını kontrol eden, hangi DOM öğesine belirtebilirsiniz

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

bir Ember.Application kök kursusırasında çıkartılmamalıdır: için rootElement özelliğini ayarlayarak eklemek Sayfanın ömrü boyunca. Tüm sayfa için yalnızca tek bir kavramsal uygulamanız varsa ve sayfanızda herhangi bir üçüncü tarafa ait Ember uygulamalarını yerleştirmiyorsanız, uygulamanız için için varsayılan belge kökü kullanın.

Yalnızca sayfa Ember.Application birden örneğini içeriyorsa kök belirtmek gerekiyor." JavaScript yüklendiğinde edilmeden önce

Şimdi bariz mesele bu aletler her biri için rootElement nasıl ayarlanacağını olurdu Bunu yapmanın bir kaç yolunu düşünebilirim ama en iyi yolu, yapmaya çalıştığınız şeyin kurulumuna bağlıdır .. İnşallah bu, doğru yola koyar.