Javascript 在knockout.js中使用$parentContext.$index访问父循环id **父循环** **这给出了未定义的**

Javascript 在knockout.js中使用$parentContext.$index访问父循环id **父循环** **这给出了未定义的**,javascript,jquery,knockout-2.0,jquery-mobile-collapsible,Javascript,Jquery,Knockout 2.0,Jquery Mobile Collapsible,我使用knockout-foreach绑定动态创建jquery移动可折叠项 访问父循环时遇到问题$index()。 我尝试了$parentContext.$index()和$parentContext.$index。两者都给出“未定义”。我使用停止绑定,是因为它无法获取父循环索引吗? 以下是我的代码。您应该替换该行: <div id="tree" data-role="collapsible-set" data-bind="foreach:VM1.Folders"> **Pare

我使用knockout-foreach绑定动态创建jquery移动可折叠项 访问父循环时遇到问题
$index()
。 我尝试了
$parentContext.$index()
$parentContext.$index
。两者都给出“未定义”。我使用停止绑定,是因为它无法获取父循环索引吗?
以下是我的代码。

您应该替换该行:

<div id="tree"  data-role="collapsible-set"  data-bind="foreach:VM1.Folders"> **Parent Loop**
      <!--Top level Folder-->
      <div data-role="collapsible" class="Folder" data-bind="attr:{'id':$index()}">   
        <h3><span data-bind="text:name"></span></h3>

            <!--Sub Folder start-->
             <div data-bind="attr:{'id':'subtree'+$index()} ">   
           <!-- ko stopBinding: true -->                  
              <div data-bind="foreach:VM2.SubFolders" data-role="collapsible-set">
                   <div data-role="collapsible" class="SubFolder"
                   data-bind="attr{'id':$parentContext.$index}"> **This gives undefined**                               
                            <h3><span data-bind="text:name"></span></h3>
                   </div>
               </div>   
           <!--/ko-->                
             </div>
           <!--End Of Sub Folder-->
      </div>
    <!--End Of Top level Folder-->

</div>
用于:


因为$index是可观察的,就像您在第3行中所做的那样。

只需使用$parent。$indexy您在:
data bind=“attr{'id':$parentContext.$index}”中缺少冒号。
应该是:
data bind=“attr:{'id':$parent.$index}”
你好,克里斯·迪克森和史蒂夫。。我尝试了你的两个建议,但它仍然给出了“未定义的”
data-bind="attr{'id':$parentContext.$index}"> **This gives undefined**
data-bind="attr{'id':$parentContext.$index()}"> **This gives undefined**