我有一个多维关联数组。
目标是循环遍历这个数组并仅打印具有“viewable”设置为true的值。
我已经使用一堆if和foreach语句使其正常工作,但代码开始失控。此示例仅涵盖2级,但我的数组可以深达5级,因此此代码将迅速变得复杂而难看。
有没有更简单/更好的方法来循环整个数组? JS Fiddle 链接
this.items = ko.observableArray([
{ name: "name1", viewable: true, children: [
{ name: "name1-1", viewable: true, children: []},
{ name: "name1-2", viewable: false, children: []}
] },
{ name: "name2", viewable: false, children: [] },
{ name: "name3", viewable: true, children: [
{ name: "name3-1", viewable: true, children: []},
] },
{ name: "name4", viewable: true, children: [] }
]);
目标是循环遍历这个数组并仅打印具有“viewable”设置为true的值。
我已经使用一堆if和foreach语句使其正常工作,但代码开始失控。此示例仅涵盖2级,但我的数组可以深达5级,因此此代码将迅速变得复杂而难看。
<ul data-bind="foreach: items">
<!-- ko if: viewable -->
<li data-bind="text: name"></li>
<!-- ko foreach: children -->
<!-- ko if: viewable -->
<li data-bind="text: name"></li>
<!-- /ko -->
<!-- /ko -->
<!-- /ko -->
</ul>
有没有更简单/更好的方法来循环整个数组? JS Fiddle 链接
children
是缺失的,例如:{ name: "name1-1", viewable: true}
,这是一个要求吗? - nemesv