Bugün hala ember'de sayfalandırma işlemek için varsayılan yolu.
İlk önce, findAll
isteğinin sayfa numarasına bakmamız gerekiyor.
Bu
.query({page:3})
gibi bir şeyle yapılır, ancak açan bazı Problemlerine edilebilir:
- Bu klasik sayfalandırmada iyi bir çözümdür, ama bir sonsuz-kaydırma hala manuel sonuçları birleştirmek gerekir.
- Sonuçlar önbelleğe alınmaz, bu nedenle sayfalara ayrılmış bir listede ileri ve geri gitmek çok fazla sorguya neden olur. Bazen bu liste düzenlenebilir, ancak çoğu zaman değil, bu gereklidir.
İkinci sorun için mağazaya kanca atan ve sorgu sonuçlarını önbelleğe almanıza olanak tanıyan biraz addon called ember-query-cache
yapıyorum. Çok kısa bir demo here kullanılabilir.
Şimdi dürüstçe size kor-data kendisinden daha iyi destek var kadar üst seviyeye .query
kullanmak öneriyoruz ilişkisi hakkında konuşmak ise:
store.query('task', { person: get(person, 'id'), page: 3 }
bu konuda kötü bir şey yok. Sonuçlarınızı alırsınız ve ilişkiyi diğer yönde alırsınız. Önbelleğe alma gereksiniminiz olmadığından, herhangi bir hack verisi olmadan çalışır ve önbelleğe almanız gerekiyorsa benim addon'ımda yaptığım çok az hacklemeyi gerektirir.
Hala sanal veriyi tamamen JSONAPI haline getirmeyi umuyoruz ve bu durum sayfalama gerektiriyor. Bence bir API perspektifi oluşturmak en iyi şey, ilişkiden dönen ManyArray'daki bir sonraki ve bir önceki sayfayı sorma yeteneğine sahip olmaktı. Bir sonraki ve bir önceki bağlantının verildiği JSONAPI ile birlikte olurdu. Ancak, şu anda, birçok projede başarılı bir şekilde kullandığım üst düzey .query
üzerinde büyük bir iyileştirme yapmadan, sanal verileri derinlemesine kesmek zorunda kalacaksınız.
Bunun için iyi bir çözüm buldunuz mu? – RyanJM