0
<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>

ノックアウト foreach バインディングを使用して、親ループにアクセスするときに動的に問題に直面する jquery モバイルの折りたたみ可能なアイテムを作成しています$index()$parentContext.$index()と の両方を試しまし$parentContext.$indexた。どちらも「未定義」を与えています。ストップ バインディングを使用していますが、親ループ インデックスを取得できないためですか? 以下は私のコードです。

4

1 に答える 1

1

次の行を置き換える必要があります。

data-bind="attr{'id':$parentContext.$index}"> **This gives undefined**

為に:

data-bind="attr{'id':$parentContext.$index()}"> **This gives undefined**

3 行目で行ったように、$index は監視可能であるためです。

于 2016-02-22T17:41:22.173 に答える