所以我有一个模板,用于对一些可能有子元素的对象进行递归。我已经让 if 语句按照我想要的方式工作(我认为)。但是,只有在 if 语句之前有一个额外的 li 时,我的子元素才会出现。
这是我的模板
<script type="text/html" id="journalTemplate">
<li data-bind="text: Description">
<div>
<li data-bind = "visible: IsGroup"></li>
<!-- ko if: IsGroup -->
<ol data-bind="template: {name: 'journalTemplate', foreach: ChildEntities}">
</ol>
<!-- /ko -->
</div>
</li>
我正在使用数组映射,因此没有要显示的真实视图模型,但 C# 对象非常简单:它有一个描述、一个布尔 IsGroup 和一个 ChildEntities 列表(如果 IsGroup 为假,则为 null,作为侧面笔记)。如果我没有空的 li,if 语句的注释块甚至不会出现。
有任何想法吗?