简单的问题:在ViewModel中,我有一个我要迭代的值数组,让我们称它们为“作业”。每项工作都是{type: myType, name: myName}
我想在作业类型之间放置一个<hr />
来分隔它们。我尝试了以下内容,但我觉得我的语法搞砸了:
<!-- ko foreach: jobs -->
<div class="job" data-bind="text: name"></div>
<!-- ko if: ($index() > 0 && $parent[$index()].type != $parent[$index() - 1].type) -->
<hr />
<!-- /ko -->
<!-- /ko -->
没有<!-- ko if -->
这一切都运作良好,我得到一个很好的清单
使用if
,我将打印前两个作业名称,然后是hr
(错误,因为我有第一个类型的6个作业),然后出现此错误:
未捕获错误:无法解析绑定。
消息:TypeError:无法读取未定义的属性“type”;
绑定值:if:($ index()&gt; 0&amp;&amp; $ parent [$ index()]。type!= $ parent [$ index() - 1] .type)
记录中,有18种工作,有3种不同类型 我做错了什么?
答案 0 :(得分:3)
此上下文中的$parent
是包含属性jobs
的对象。所以你必须索引到$parent.jobs
。
<!-- ko if: ($index() > 0 && $data.type != $parent.jobs[$index() - 1].type) -->
<hr />
<!-- /ko -->