2014-04-03 54 views
0

我想在淘汰賽中的foreach中應用foreach,但它不工作外部foreach對我來說工作正常,但對於內部foreach是MyFMnu1 is undefinedForeach裏面的foreach沒有在淘汰賽中工作

如果我把這個內部的foreach外面,那麼它工作,但爲什麼它不在foreach內工作。

<div data-bind="foreach: MyFmnu"> 
     <!-- ko if: key === 'ASM' --> 
      <input type="checkbox" value="ASM" class="styled" 
       name="fldMenuCheck_Acc1" id="fldMenuCheck_Acc1" 
       style="width:10%;"/> 
     <!-- /ko --> 
     <div data-bind="foreach: MyFmnu1"> 
      <!-- ko if: key === 'ASMS' --> 
       <input type="checkbox" value="ASMS" class="styled" 
        name="fldMenuCheck_Acc12" id="fldMenuCheck_Acc12" 
        style="width:10%;"/> 
      <!-- /ko --> 
     </div> 
</div> 

我的視圖模型

var AccountsViewModel = function() { 

    var self = this; 

    self.myfavmenu = ko.observable(); 
    self.PerLzdmenuList = ko.observable(); 
    self.MyPerlzdMenus = ko.observable(); 

    self.myfavmenuOtherCount = ko.observable(); 
    self.MyFmnu = ko.observableArray([]); 
}; 
+0

您可以將您的視圖模型? – John

+3

顯示完整的HTML標記。我在這裏只看到1個'foreach'。 – haim770

+1

請把小提琴 – DevelopmentIsMyPassion

回答

0

內部foreach綁定綁定上下文是收集項目,而不是根視圖模型。 要訪問父上下文中的foreach綁定使用$父,是這樣的:

<div data-bind="foreach: MyFmnu"> 
     <!-- ko if: key === 'ASM' --> 
      <input type="checkbox" value="ASM" class="styled" 
       name="fldMenuCheck_Acc1" id="fldMenuCheck_Acc1" 
       style="width:10%;"/> 
     <!-- /ko --> 
     <div data-bind="foreach: $parent.MyFmnu1"> 
      <!-- ko if: key === 'ASMS' --> 
       <input type="checkbox" value="ASMS" class="styled" 
        name="fldMenuCheck_Acc12" id="fldMenuCheck_Acc12" 
        style="width:10%;"/> 
      <!-- /ko --> 
     </div> 
</div> 

更多的信息在這裏:http://knockoutjs.com/documentation/binding-context.html

+0

它適合我。謝謝,但有時候會有大量數據在循環中掛起。 –

0

如果你有MyFmnu1陣列作爲MyFmnu陣列中每個對象的屬性,它會工作。