yeni bir Omurga.() Model vs Omurga.Model.()uzatmak
JS ve Omurga yeniyim
Bu ikisi arasındaki fark nedir?
TestModel = new Backbone.Model({ title: "test title" })
TestModel = Backbone.Model.extend({ title: "test title" })
CEVAP
Kısa olarak nitelendirilebilecek olan temel bir fark var, "bir ev projesi ve evin kendisi arasındaki fark".
Uzman programcılar için sadece bunu söyleyebilirim"yeni bir Omurga.Model" döndürür bir nesne örneği, ama "Omurga.Model.uzatmak" yapıcı bir işlev verir
İLK olarak: yeni bir nesne (evi gibi)
TestModel = new Backbone.Model({ title: "test title" });
başka bir yerde tanımlanmış olan yeni bir Nesne oluşturun. Nesne "yerel olmayan tüm öğeleri" "doğal madde" tamsayılar gibi temel türleri, yani, karakter vb. bir dil, nereye olarak kabul edilebilir
Parantez içinde {} bazı değişken veya metodun değeri geçirir. Bu 'olan yeni bir nesne başka bir yerde tarif. oluşturmak için izin verir, çünkü Tomasz Nurkiewicz daha önce, bir kurucu olarak açıklandığı gibi, denir
Bilinen bir örnek vermek gerekirse: yazmak
myArray = new Array();
Başka bir yerde tanımlanmış olan yerel olmayan bir nesne olan yeni bir Dizi oluşturuyorsunuz demektir. de yazabilirsiniz:
myArray = new Array([1,2,3,4,5]);
Ve verilen sayılar ile bir dizi doldurur.
İKİNCİ: varolan bir nesnenin tanımını değiştir (house proje yani)
ile
TestModel = Backbone.Model.extend({ title: "test title" })
VM senin için çok basit bir şey diyorsun: "varsayılan olarak izin ver, sana bir obje çok güzel, ama daha fazla işlevleri/özellikleri uygulamak istiyorum". "" Yan bir nesne eklemek tanımını değiştirmek veya mevcut yöntem/özelliklerini geçersiz kılar. uzatmak bu kadar
Örnek: backbone.js güzel bir örnek koleksiyonu karşılaştırıcı işlevi tarafından verilir. Nesne tanımlama genişletirken, "sıralı düzende koleksiyonu korumak için kullanılır".
Örnek:
myCollection= Backbone.Collection.extend({
comparator:function(){
return item.get('name');
}
});
GENEL OLARAK
Ne beklenir '(=kullanma backbone.js gelişmekte olan çerçeve) ile belirli bir nesne (örneğin bir Görünüm) genişletmek için": . backboning zaman
window.ButtonView = Backbone.View.extend({
btnText:'nothingByDefault',
myNewMethod:function(){
//do whatever you want, maybe do something triggered bby an event, for instance
}
});
ve sonra bu kodu başka bir yerde, bir kez, parantez içinde de dahil olmak üzere işlemek istediğiniz her düğme için kullanın tüm değerleri nesneye vermek istiyorum
[...]
var submitBtn = new ButtonView({btnText:"SubmitMe!"}),
var cancelBtn = new ButtonView({btnText:"Erase All!"});
....Bu yardımcı olur umarım...
Nasıl bir model yeni olup olmadığını b...
Omurga Görünümü: üst olayları uzatmak ...
Django model bir özel() Kaydet, nasıl ...
Konsol raylar: doldurun! model dosyala...
Raylar Model eşit olmadığı bul...