gpt4 book ai didi

Javascript 模板 - 深度嵌套是可能的

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

我正在构建一个任务应用程序(为了好玩),我只是坐下来思考这个问题。我会在这里用文字表达我心中的问题。

模型非常简单,它包含Project 的集合。每个项目都包含一个 TaskList,这些 TaskList 是可嵌套的,例如一个任务 Design FrontPage 可以有一个 Design Header 作为另一个任务列表。每个 TaskList 包含 Tasks。对于这个问题,典型的 javascript 模板会是什么样子。我无法提供适用于这种情况的产品。这个问题和N级嵌套菜单一样,你会如何使用模板库渲染它。

<div>
{{#Projects}}
<div>
<b>{{ProjectName}}</b>
</div>
<ul>
{{#TaskList}}
<li>{{TaskListName}} {{CreatedBy}} The Problem Comes here - How do i Render a #TaskList
here </li>
{{/TaskList}}
</ul>
{{/Projects}}
</div>

顺便说一句,如果有人有 asp.net 解决方案(让我听听他们的想法),N 级深度嵌套是我现在无法克服的问题。

最佳答案

您可以将您的 TaskList 定义为一个部分并将其递归包含为 the documentation提示。

模板:

<script type="text/template" id="projects">
{{#Projects}}
<div>
Project: <b>{{ProjectName}}</b>
</div>
{{>taskList}}
{{/Projects}}
</script>

<script type="text/template" id="task-list">
{{#TaskList}}
<ul>
<li>
{{TaskListName}} <em>{{CreatedBy}}</em>
{{>taskList}}
</li>
</ul>
{{/TaskList}}
</script>

JavaScript:

    var data = {
Projects: [
{
ProjectName: "Project 1",
TaskList: [{
TaskListName: "Name 1",
CreatedBy: "Person 1"},
{
TaskListName: "Name 2",
CreatedBy: "Person 2",
TaskList: [{
TaskListName: "Sub Name",
CreatedBy: "Same Person"},
{
TaskListName: "Sub Name 2",
CreatedBy: "Person 1"},
{
TaskListName: "Sub Name 3",
CreatedBy: "Person 3-2",
TaskList: [{
TaskListName: "Sub Sub Name",
CreatedBy: "Person 3-3"}]}]}]},
{
ProjectName: "Project 2",
TaskList: [{
TaskListName: "Name 3",
CreatedBy: "Person 3"},
{
TaskListName: "Name 4",
CreatedBy: "Person 4"}]}]
},
template = $('#projects').html(),
partials = {
taskList: $('#task-list').html()
},
html = Mustache.render(template, data, partials);

document.write(html);

这是运行中的 jsFiddle - http://jsfiddle.net/maxbeatty/ND7xv/

关于Javascript 模板 - 深度嵌套是可能的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8943771/

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