2012-08-17 13 views
14

Dev sırasında, canlı kaydedildiyse, gidon şablonlarını yenilemek istiyorum.Bir kerede şablonlar nasıl canlanır (canlı)?

Dosya kaydederken beni bilgilendiren bir websocket kanalı zaten var. Bu noktada, script etiketi src etiketindeki bir kareyi güncelleyerek belirli bir şablonun yeniden yüklenmesini zorlayabilirim.

Bu şablonu kullanan ve yenilenmesi gereken ve yenileme işlemini zorladığı tüm Görünümlere nasıl bildirebilirim? (Bir yenileme tetiklemek nasıl onları bulabilirim nasıl?)

+0

neyi http gibi yeni bir TEMPLATENAME etkileme konusunda: //stackoverflow.com/questions/9999064/ember-js-select-view-template-by-model-type-object-value/10006845#10006845. Senin için çalışabilir mi? –

+0

Muhtemelen, bir atış –

cevap

2

Teorik olarak, Ember.View.views.filterProperty('templateName', nameOfUpdatedTemplate).set('template', Ember.TEMPLATES[nameOfUpdatedTemplate]) yapabilirdi. Bu yeniden oluşturmayı zorlamalıdır.

Bunu denemedim ve hangi uç durumların içine girebileceğinizi bilmiyorum, ama aklıma gelen en basit yaklaşım bu olurdu.

+0

verecektir ilk şey pazartesi, bunu deneyecek! –

+0

hayır git ... ama bir hile buldum, cevabımı görün –

7

not bu basit şablonlar için çalışır ama böyle devam alınıyor çıkışları

hale getirilir olanlar için oldukça zor oldu:

var js = "template.js"; 
var templateName = "template"; 

Ember.TEMPLATES["empty"] = Handlebars.compile("") 

// script loaders are the simplest way of getting a callback 
$LAB.script(js).wait(function(){ 
    $.each(Ember.View.views,function(){ 
    if(this.get('templateName')==templateName){ 
     this.set('templateName','empty'); 
     this.rerender(); 
     this.set('templateName',templateName); 
     this.rerender(); 
    } 
    }); 
}) 
+0

bu konuda merak ediyorum - senaryo yükleyicisinin/geri çekmenin ne yaptığını açıklayabilir misin? –

İlgili konular