2012-04-17 12 views
7

Bir Ember.js uygulamasına sahibim. Ana şablonda, tıklandığında bir CSS araç ipucu görüntülenmesi gereken bir yardım düğmem var. Araç ipucunun ayrı bir Gidon şablonu var.Dinamik bir şekilde yeni bir şablonu DOM'a Ember ile nasıl ekleyebilirim?

Yapmaya çalıştığım şey, açılır pencereyi DOM'a eklemek ve görüntülemek için tıklama olayını işlemektir. Ember kullanarak DOM'a yeni şablonlar ekleyemiyorum.

var checkbox = Ember.Checkbox.extend({ 
    templateName: 'checkbox', 
    helpClicked: function(e) { 
     // Not sure what to do here 
    } 
})); 

var tooltip = Ember.View.extend({ 
    templateName: 'tooltip' 
}); 

Yani ipucunu işlemek için olay işleyicisi ne yapacağını emin değilim:

<div id="status_help" class="icon_help" {{action "helpClicked"}}></div> 

İşte benim temel görüntü var:

Burada yardım düğmesi görüntülenir benim şablon var şablonu ve görüntülenecek DOM içine enjekte.

cevap

12

Ember.Viewappend veya appendTo yöntemlerini kullanarak yeni bir görünüm oluşturabilir ve DOM'a ekleyebilirsiniz. bir 'replaceIn` yöntem de bulunmaktadır

App.MyView = Ember.View.extend({ 
    templateName: 'a_template' 
}) 

var view = App.MyView.create(); 

// Append the view to the document body 
view.append(); 
// ...or append to any element described using 
// a jQuery-compatible selector. 
view.appendTo('#my-div'); 
+0

, https://github.com/emberjs/ember.js/blob/255bd707a73c905fa6e14ac76f134642e9802667/packages/ember-views/lib/views/view.js#L704- bkz 724. – pangratz

+1

Geriye doğru yapıyordum. Çocuğu eklemeyi denemek için ebeveyn görünümünde eki çağırıyordum. Buna bir şans vereceğim, teşekkürler. –

+1

Bu, Ember 2.x'te nasıl göründü? Artık Görüntülemeler kullanımdan kaldırıldı mı? – tojofo

İlgili konular