2011-10-23 14 views
5

मैं रेल के साथ रीढ़ की हड्डी जेएस की कोशिश कर रहा हूं और वास्तव में जिस तरह से यह फ्रंटेंड आयोजित करता है। मैंने https://gist.github.com/705733बैकबोन जेएस पेजिनेशन

के समान एक पेजिनेशन समाधान लागू किया है, मैं बस सोच रहा हूं कि संग्रह की भूमिका क्या है और इसे पृष्ठांकित परिणामों के साथ कैसे काम करना चाहिए। वर्तमान में, ऐसा लगता है कि जब मैं डेटाबेस से नई ऑब्जेक्ट लाता हूं तो वे वर्तमान संग्रह में क्या ओवरराइड करते हैं। हालांकि, मैं वर्तमान संग्रह में जोड़ने के लिए {add: true} का उपयोग कर सकता हूं। यह तब अंकन को और अधिक कठिन बना देगा। और परिणाम कैशिंग के बारे में कैसे? क्या मुझे हर पृष्ठ के लिए एक नया संग्रह बनाना चाहिए?

अगर किसी ने यह किया है या जानता है कि इसके बारे में कैसे जाना है, तो यह बहुत मददगार होगा।

उत्तर

11

अपने उद्देश्य & प्रदर्शन आइटम क्वेरी करने के लिए जब एक पृष्ठ का अनुरोध किया जाता है, तो आप (स्यूडोकोड) की तरह कुछ कर सकता है:

pages = {} 


// when page N is needed 
function fetch_page(n) { 
if (!pages[n]) { 
    pages[n] = new ItemsCollection({page: n}) 
    pages[n].fetch(); 
}  
} 

तो तुम प्रत्येक पृष्ठ के लिए एक संग्रह रखने के लिए।

यदि आपको अब तक की गई सभी वस्तुओं का संग्रह भी चाहिए, तो बस एक रखें - और जब भी आप उन्हें सर्वर से प्राप्त करते हैं तो इसे प्राप्त आइटम जोड़ें।

+4

अरे धन्यवाद दीरा, मैंने उन्हें एक संग्रह में जोड़ दिया और प्रति पृष्ठ पर आधारित अंतिम (एन) तत्व प्राप्त करने के लिए अंडरस्कोर का उपयोग किया। एक इलाज करता है! – seogrady

+0

seogrady - मुझे पता है कि यह पुरानी खबर है, लेकिन क्या आप यार कोड पोस्ट कर सकते हैं? – starsinmypockets

संबंधित मुद्दे