供引用,这里是the jsfiddle of my problem.
问题概述:
我在 UI 中有两个并排的列表,但第二个列表实际上是第一个列表中所选项目的项目数组。所以数据结构是这样的...
var VM = {
listOfStuff: [
{
subItems: [{},{}]
},
{
subItems: [{},{},{}]
}
]
}
用户界面看起来像......
<ul id="list-of-stuff">
<li></li>
</ul>
<ul id="list-of-subitems-on-list-of-stuff">
<li></li>
</ul>
问题是我在“列表”上使用了 knockout foreach 绑定(bind),它工作得很好,但子项目列表从未显示。没有绑定(bind)错误或任何其他明显的问题,所以我不确定我做错了什么......
最佳答案
使用 with
绑定(bind)来管理对子对象的访问通常是最简单的。 Here's a working fiddle .
<h1>SubItem List</h1>
<!-- ko with: currentStuff -->
<ul id="subitem-list" data-bind="foreach: subItems">
<li data-bind="text:number"></li>
</ul>
<!-- /ko -->
初始化currentStuff
很重要;如果 with
绑定(bind)的绑定(bind)值为 null 或未定义,则不会呈现任何 html。
关于javascript - knockout foreach 子数组未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18765779/