2012-05-13 16 views
9

पर नॉकआउट कैसे प्राप्त करें मैं अपने रिकॉर्ड को फ़ोरैच का उपयोग करके दोहराने के लिए प्राप्त कर सकता हूं, लेकिन क्योंकि मैं सीएसएस के लिए ग्रिड सिस्टम का उपयोग कर रहा हूं, इसलिए मैं इन रिकॉर्ड्स को एक समय में विभाजित करना चाहता हूं (div class = "column") प्रत्येक के लिए (div वर्ग = "पंक्ति")।ग्रुप फोरैच

मुझे एक अच्छा उदाहरण नहीं दिख रहा है कि प्रत्येक रिकॉर्ड को इस तरह से कैसे लपेटें।

कोई मदद?

उत्तर

18

इसलिए मुझे पूरा यकीन नहीं है कि आप क्या कर रहे हैं लेकिन आप इसे मैन्युअल रूप से समूहित कर सकते हैं।

http://jsfiddle.net/madcapnmckay/hFPgT/1/

<div data-bind="foreach: grouped" > 
    <div data-bind="foreach: $data" class="row"> 
     <div class="column" data-bind="text: text"></div> 
    </div> 
</div>  

this.grouped = ko.computed(function() { 
     var rows = [], current = []; 
     rows.push(current); 
     for (var i = 0; i < this.items.length; i += 1) { 
      current.push(this.items[i]); 
      if (((i + 1) % 4) === 0) { 
       current = []; 
       rows.push(current); 
      } 
     } 
     return rows; 
}, this); 

आशा इस मदद करता है।

+0

धन्यवाद! यह स्थैतिक सरणी के लिए बहुत अच्छा काम करता है। लेकिन जब मैं वस्तुओं के लिए ko.observableArray का उपयोग करता हूं, कुछ भी नहीं होता है। – Chris

+1

अपडेट: आइटम्स में आइटम बदलना() निश्चित है। – Chris

+0

हां, एक अवलोकन योग्य ऐरे सिर्फ एक स्थिर सरणी को लपेटने वाला एक फ़ंक्शन है, इसलिए निष्पादित करने से यह स्थिर सरणी को अंदर लाता है। – madcapnmckay