नॉकआउट.जेएस 2.1.0 में, फॉर्च बाइंडिंग का उपयोग करके एक टेम्पलेट में, आप वर्तमान आइटम के इंडेक्स तक पहुंच सकते हैं, हालांकि $ इंडेक्स () फ़ंक्शन। नेस्टेड फ़ॉर्वर्ड बाइंडिंग में, क्या टेम्पलेट से $ पेरेंट के इंडेक्स को एक्सेस करने का कोई तरीका है?
कहो कि मेरे पास इस तरह से एक डेटा संरचना है:
var application = {
topModel: [
{
{subModel: [{'foo':'foo'}, { 'bar':'bar'}]}, // this has top:0 and sub:0
{subModel: [{'foo2':'foo2'}, { 'bar2':'bar2'}]} // this has top:0 and sub:1
},
{
{subModel: [{'foo':'foo'}, { 'bar':'bar'}]} // this is top:1 sub:0
},
{
{subModel: [{'foo':'foo'}, { 'bar':'bar'}]} // this is top:2 sub:0
{subModel: [{'foo':'foo'}, { 'bar':'bar'}]} // this is top:2 sub:1
},
...
]};
इसके साथ, मैं सूचकांकों का उपयोग करते हुए प्रत्येक मॉडल के लिए पथ प्रिंट करना चाहता हूं: [topModel-index subModel-index], ताकि आउटपुट कुछ इस तरह हो जाए:
[0 0]
[0 1]
[1 0]
[2 0]
[2 1]
...
मैंने फॉरच का उपयोग करके मॉडल को बाध्य किया है, लेकिन मैं यह पता नहीं लगा सकता कि सबमॉडल के संदर्भ में टॉपमॉडल के सूचकांक का उपयोग कैसे किया जाए। निम्नलिखित उदाहरण एक दृष्टिकोण दिखाता है जो मैंने कोशिश की है, लेकिन यह काम नहीं करता है, क्योंकि मैं यह पता नहीं लगा सकता कि $ माता-पिता रेफरल के सूचकांक का उपयोग कैसे करें।
<!--ko foreach: topModel -->
<!--ko foreach: subModel -->
[<span data-bind="text: $parent.index()"></span>
<span data-bind="text: $index()"></span>]
<!--/ko-->
<!--/ko-->
बाहर प्रिंट करना चाहिए: 0 1, 0 2, 1 0, 1 1, 1 2, 2 0, 2 1, ...
()
में$index
वहाँ के बाद की जरूरत नहीं है ।