2014-10-23 9 views
5

'daki tüm özellikleri belirtme Mobil projede Backbone kullanıyorum. Diyelim ki böyle bir örnek dersim var.Backbone.Model

var Person = Backbone.extend({ 

}); 

Person sınıfı aşağıdaki özellikleri firstName, lastName, age ve gender. Sınıftaki tüm bu özellikleri belirtmek istiyorum. Bu nedenle diğer geliştiriciler, örnek için belirlemeleri gereken özellikleri bilirler. Gördüğüm belgelere baktıktan sonra kullanabileceğim defaults isimli bir özellik var.

var Person = Backbone.extend({ 
    defaults: { 
     firstName: '', 
     lastName: '', 
     age: null, 
     gender: null 
    } 
}); 

Ama ben defaults özelliğinin farklı olduğunu düşünüyorum? İnsanların sınıfın içerdiği özelliklerin neler olduğunu bilmemesine izin vermeyin. Bunu başarabileceğim daha iyi bir yolu var mı?

cevap

1

Projemizde bu amaçla defaults kullanıyoruz. Sorunu oldukça iyi çözer ve ayrıca bir dokümantasyon noktası olarak da hizmet edebilir. Bunu bildiğim başka bir terslik yolu yok. Ancak, eski moda yorumları kullanabilirsiniz :)

1

Getter işlevleri yazabilirsiniz, bu nedenle modelin özellikleri doğrudan modelin genel API'si olarak kullanılabilir.

Bu şekilde, modeli nesnesini kullanarak herhangi bir geliştirici bile düzenleme için dosyayı açmadan (o iyi bir IDE kullanan varsayarak) kamu özelliklerini bulunuyor görüntülemek mümkün olacak (neden bunu?), Ör .:

var Person = Backbone.extend({ 
    defaults: { 
     firstName: '', 
     // ... 
    }, 
    getFirstName: function() { 
     return this.attributes.firstName; 
    } 
    // ... 
});