2012-12-02 20 views
10

Marionette.ItemView, bunlarla ilişkili belirli bir model özelliği olmayan görünüm sınıfları için geleneksel mi? Bir ItemView kullanışlı varsayılan ve bağları olan bir görünüm sınıf olarak mantıklı gibi Marionette.View gibiMarionette.ItemView modelini kullanmadan görünümler için mi kullanıyorsunuz?

doğrudan kullanılacak anlamına gelmez, öyle görünüyor.

Ya da bir kişi Backbone.View kullanıyor? Öyleyse, Backbone.View'u Marionette'nin toplanmış ve çöp toplayan mimarisine sokmanın bir yolu var mı?

Açıklama için teşekkür ederiz!

cevap

18

ItemView model olmadan da kullanılabilir. Bunu düzenli olarak yapıyorum. olmak


MyView = Marionette.ItemView.extend({ 
    serializeData: function(){ 
    return { 
     my: "custom data" 
    }; 
    } 
}); 

baz Marionette.View isnt' anlamına geliyordu: Bir ItemView için veri belirtmek ama Backbone.Model bu verileri yok gerekiyorsa

, sen serializeData yöntemini geçersiz gerekir doğrudan kullanıldığından, kendi başına bir render işlevi sağlamaz. Bu, kendi temel görünüm türlerinizi oluşturmak için kullanamayacağınız anlamına gelmez. Örneğin, uygulamanız için Google haritalarının veya üçüncü tarafların bir widget'inin veya ItemView'un içerdiği genel Backbone.Model tabanlı işleme gerekmeyen başka bir şeyle ilgilenen bir görünüm türü oluşturabilirsiniz.

<script type="text/html" id="notice-template"> 
    <span class="<%= cssClass %>"><%= message %></span> 
</script> 

Sonra şunlar sıfırlanır zaman: Şablonunuzdaki sonra

templateHelpers: function() { 
    return { 
     message: this.message, 
     cssClass: this.cssClass 
    } 
} 

Ve: Sadece ItemView bildiriminde bu atmadan -

1

Sadece bunun için bir templateHelper kullanabilirsiniz öğrendim görünüm:

var noticeView = new App.Views.Notice(); 
noticeView.message = "HELLO"; 
App.noticeRegion.show(noticeView); 

Bu Derick hakkındaki düşüncelerinle ilgilenir miydim?

İlgili konular