knockout.js 存取巢状'foreach'中的外部循环属性

rqdpfwrv  于 2022-11-10  发布在  其他
关注(0)|答案(3)|浏览(153)

我在Knockout.js中有一个嵌套的foreach循环,我想从内部循环中的外部循环中的当前对象访问一个属性。

<!-- ko foreach: graduationDateRows -->                  
  <tr>
    <td class="center" data-bind="text: CalendarYear"></td>  
    <!-- ko foreach: $root.graduationDatesHeaders -->
    <td class="center" data-bind="text: /* !here! */"></td> 
    <td></td>
    <!-- /ko -->                                                                  
  </tr> 
<!-- /ko -->

我该怎么做?

t98cgbkg

t98cgbkg1#

您可以使用$parent访问上一级作用域。

3qpi33ja

3qpi33ja2#

您甚至可以在foreach绑定中使用$parentas别名来遍历完全不相关的数组
考虑the following example
第一个

cotxawn7

cotxawn73#

要从内部循环中的当前对象访问外部循环中的属性,可以使用$parent.property_name
例如:

<ul id="salesInfo" data-bind="foreach : salesInfo ">
    <li class="department">
        <a href="#" data-bind="text: name" />
        <ul id="salesDept" data-bind="foreach: years">
            <li class="years">
                <a href="#" data-bind="text: year, click:function(data, event) { $root.yearClicked(year,$parent.name,data) }" />
            </li>
        </ul>
    </li>
</ul>

salesInfo数组的示例对象:

{
    "id" : "0",
    "name" : "Human Resources",
    "years" : [
        { "year" : "2012", "values" : [250000,350000,150000,220000,450000,180000] }
    ]
}

相关问题