2011-11-28 25 views
16

Birçok Backbone.js öğreticisi okudum, ancak çoğu statik nesnelerle ilgileniyor.Sunucu ile ".sync" öğreten herhangi bir Backbone.js öğreticisi var mı?

Tabi ki sunucuda veri var. Backbone.js'nin veri almak, veri göndermek için sunucuyla nasıl iletişim kurabileceğini gösteren bir eğitim istiyorum.

Bu, .sync, değil mi? Ben backbone.js belgelerini okudum, ancak bu özelliği nasıl kullanacağımı hala bulanık.

Veya birisi bana örnek gösterebilir mi? göre

: http://documentcloud.github.com/backbone/#Sync

Backbone.sync Omurga o girişimleri okumak veya sunucuya bir model kurtarmak için her zaman çağırır fonksiyonudur.

Ne zaman? Fonksiyonu nereye koyacağım? Nasıl kullanacağımı bilmiyorum ve belgeler hiçbir örnek vermiyor. Veriler modellerima ne zaman yüklenir? Ne zaman tanımlayacağım ... doğru mu? Eğer geçersiz ise

+0

aracılığıyla yaparlar.Senkronizasyon, istemci model durumunu (veya durumu sunucudan almak için GET) kaydetmek için sunucuya POST veya PUT XHR istekleri gönderir. Tarayıcınızın Web geliştirici araçlarını kullanarak ağ trafiğine bakmanıza yardımcı olur. – Thilo

+0

Yani .sync ile, artık JQuery's .ajax() kullanmak zorunda değilim? (benim modellerime veri almak için, vb) – TIMEX

+0

Varsayılan .sync sizin için çalışıyorsa, o zaman, evet (sizin için kapakların altında .ajax kullanır). Ne yaptığını değiştirmeniz gerekiyorsa, muhtemelen doğrudan .ajax kullanan bir kodla değiştirmeniz gerekir. – Thilo

cevap

2

Bunlar ücretsiz değiller, ancak aşağıdaki ekranların her ikisi de arka uç çalışması üzerinde bir parçaya ve Veriler'e nasıl veri gönderileceğini ve Backbone'dan veri aldıklarını gösterir.

  1. Tekpub yapımları yönetmek için bir yönetici modülü yazmak için omurga kullanımı hakkında bütün 6 bölümü ile asp.net MVC3 hakkında 9 kısım screencast vardır. o etkileşim hakkında

  2. http://peepcode.com/products/backbone-ii sebat hakkında
  3. http://peepcode.com/products/backbone-iii (ihtiyacınız olacak bu üçüncü oluyor tüm temel omurga şeylere Peepcode

+3

Ne yazık ki, bu dizinin uzun zamandır beklenen üçüncü bölümü, ağa ve kalıcılığa hitap eden, birdenbire Coffeescript'e geçiyor, ki bu da gerçekten erişilebilirliğini kısıtlıyor. –

+0

evet bu doğrudur, ancak ne derlendiğini bilmek için yeterince kahve tanımalıyorum ... javascript hobileri çoğunluğu için erişilebilirliği sınırlamak rağmen kesinlikle haklısınız. – Sander

+2

@sander teşekkürler. Nasıl Backbone.sync için "ücretsiz" öğreticiler yok? – TIMEX

3

Sen omurgalar yerli senkronizasyon işlevini geçersiz kılabilirsiniz: Eğer koleksiyonları modelleri veya .fetch() üzerine .Save gibi bir omurga işlevi() çağırmak zaman bu işlev denir Bundan sonra

Backbone.sync = function() { 
    //Your custom impl here 
} 

. Artık veri aktarımını önemsemek zorunda değilsiniz.

Backbones kaynağına bir göz atmayı ve varsayılan eşitleme işlevinin nasıl uygulandığını incelemenizi öneririz. Ardından kendi işlevinizi oluşturun veya yerel işlevi desteklemek için sunucunuzu kabul edin.

11

Gerçekten üzerine yazmak için plan sürece, .sync bakmak zorunda kalmazsınız. Normal kullanımlar için, istediğiniz zaman ve bir gönderiyi yürütecek veya koyacağınız (kaydın var olup olmadığına bağlı olarak) model.save() öğesini çağırabilirsiniz. Eğer arka uç veri almak istiyorsanız, Elbette aynı zamanda bir URL belirtmek gerekir()

collection.fetch kullanmak koleksiyonunuz özniteliği, collection.url

+1

Bu cevaptır: '.sync',' model.save() 'dediğimizde olur. – Ziggy

+0

@Ziggy Sure, .sync'in çağrıldığı zamandır, ancak gizlenen ve TIMEX'in karışıklığına neden olan sihri açıklamaya yardımcı olmaz. URL'ler Modele ve Model'in ilgili Koleksiyon tanımına göre gizlidir. – JoeBrockhaus

İlgili konular