Modeller koleksiyonumda ve modeller hakkında bazı ek bilgiler içeren backbone.js'yi kullanarak bir durumum var. Örneğin, miktarların bir listesini döndürdüğümü hayal edin: her modelle ilişkili bir miktarları vardır. Şimdi, her bir miktarın biriminin daima aynı olduğunu varsayın: quarts. Sonra geri hizmetinden olsun json nesnesi gibi bir şey olabilir:Backbone.js koleksiyonunda kalıcı ve yükleme meta verileri
{
dataPoints: [
{quantity: 5 },
{quantity: 10 },
...
],
unit : quarts
}
Şimdi omurga koleksiyonları doğal koleksiyonu ile bu meta-veri ilişkilendirilmesi için hiçbir gerçek bir mekanizma var, ama bu soruya bana önerildi: Setting attributes on a collection - backbone js koleksiyonunu .meta(property, [value])
stil fonksiyonu ile genişletebiliyorum - bu harika bir çözüm. Ancak, doğal olarak, bu verileri yukarıda sahip olduğumuz gibi bir json cevabından temiz bir şekilde alabilmek istiyoruz.
Backbone.js parse(response)
işlevini verir; bu da koleksiyonun model listesinin nereden alınacağını url
özniteliğiyle birlikte belirtmemizi sağlayan parse(response)
işlevini sağlar. Bununla birlikte, zaten mevcut olan kısmi işlevselliği kaldıracak olan fetch()
'u aşırı yüklemeden daha akıllı bir işlev yapmanın farkında olmamın bir yolu yoktur.
Sorum şu: Bu, ulaşmak istediklerime ulaşmak için fetch()
'u aşırı yüklemeden (ve bunun süper sınıf uygulamasını çağırmak için denemekten) daha iyi bir seçenek var mı?
Teşekkür
Şahsen
demiyorlar Modelleri geçersiz kılmak için 'parse' gibi tüm özelliklerine sahip olmak. Koleksiyonun meta verilere bir anlamı olması gerekiyorsa, o zaman Omurga'nın meta-on-collection çözümü, IMO ile 'out-of-band' yerine, o nesne yapısında bunu yansıtıyor olabilir. – Stoive
Bu benim için çok makul görünüyor. Bunun anahtarı, model nesnesinde ve koleksiyonda ayrıştırma/URL/getirme işlevini geçersiz kılma yeteneğidir. Çok teşekkürler. – idbentley
Collection.refresh() şimdi kullanımdan kaldırıldı, bunun yerine Collection.reset() öğesini kullanın. – JMWhittaker