gpt4 book ai didi

javascript - KnockoutJS 和递归模板

转载 作者:数据小太阳 更新时间:2023-10-29 04:44:48 26 4
gpt4 key购买 nike

我看过this question ,并且使用它的方法会在 JS 控制台上抛出错误 Uncaught SyntaxError: Unexpected token )

我正在尝试获取一个递归的类别数组,它有一个 Children 属性,它是一个类别数组,并使用 jquery 模板构建它们。我尝试过的每种方法都会导致一些语法错误。我已经验证对象在 javascript 中正确显示(它来自 MVC3,使用 @Html.Raw(Json.Encode(Model.Categories)) 将其放入 JS 数组)。这是原始的 csharp 类

public class CategoryTreeModel
{
public int Id { get; set; }
public string Name{ get; set; }
public bool Selected { get; set; }
public bool HasChildren { get { return Children.Count > 0; } }
public List<CategoryTreeModel> Children { get; set; }
}

调用模板第一层的原始html:

<ul class="nav"  data-bind="template: {name: 'categories_template', foreach: categories}">
</ul>

和模板本身:

<script type="text/html" id="categories_template">
<li id="category_${Id}" class="category_header">${Name}
{{if $data.HasChildren }}
<ul data-bind='template: { name: "categories_template", foreach: Children}'>
</ul>
{/if}
</li>

如果我去掉它的子部分,模板就可以正常工作,正确渲染第一层。当我按原样使用代码时,我得到 Uncaught SyntaxError: Unexpected token )。我做错了什么?

最佳答案

你的最后一个 {/if} 应该是 {{/if}}

这是一个示例:http://jsfiddle.net/rniemeyer/vbKVC/

关于javascript - KnockoutJS 和递归模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8231888/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com