2013-08-22 19 views
5

Uygulamamız, index.mustache içindeki Bıyık şablonlarını kullanır ve Backbone'u kullanmak yerine Symfony ile ilk API çağrısı yapar. Bu, kullanıcı ilk sayfa yüklemesinde boş bir ekrana bakmayacaktır.Marionette.ItemView bir şablonda geçirmek yerine varolan sayfa öğesine nasıl bağlanır?

Şimdi, daha sonra yeni bir şablon iletmek yerine DOM'daki oluşturulmuş sayfa öğelerine bağlanmak (böylece verileri manipüle edebilir ve etkileşim ekleyebiliriz) için Marionette'i nasıl kullanabiliriz?

Araştırmamızın önerdiği kadarıyla, her zaman bir şablona Marionette Layout ve ItemView uygulamasına geçmemiz ya da 'şablon hatası yok' almamız gerekiyor.

Kullanabileceğimiz bir el özelliği, Backbone'da olduğu gibi mi? Diğer seçenek Marionette.View uzatmak olurdu, ancak bunu tavsiye edilmez.

cevap

7

Görüntüyü, oluşturulmadan gerçekleştirmelisiniz. http://jsfiddle.net/vpetrychuk/PkNTp/

var ItemView = Backbone.Marionette.ItemView.extend({ 
    el : '.content', 
    events : { 
     'click' : 'clickHandler' 
    }, 
    clickHandler : function() { 
     this.$el.append('clickHandler'); 
    } 
}); 

new ItemView(); 
+0

Ben yanlış ne yaptığını hiç bilmiyorum. Şimdi çalışıyor ... Tuhaf. Teşekkür Vitaliy! –

+6

Küçük bir değişiklik önerebilirim: "el" in kendisini görüntünün içine kodlama. Bu daha sonra baş ağrılarına neden olur. Bunun yerine, 'el' öğesinin yapıcı seçeneklerine geçin: 'yeni ItemView ({el: ".content"}); –

+0

@DerickBailey Tavsiyeden dolayı, evet bu kesinlikle tekrar kullanılabilir. Marionette Btw'nin büyük hayranı! :) –

İlgili konular