我有这个型号:
var taskGroups =
[
{name:"Notepad", tasks:[]}
];
我的目标是以下列格式在列表中显示每个taskGroup:{Name} {numOfTasks}
如果taskGroup有一个空任务[],则不应显示它。
这是我作为jsfiddle的尝试: http://jsfiddle.net/ARS2E/
这是我的模板:
<script id="tmpl" type="text/x-jsrender">
{{if tasks.length}}
<li class="tasklist-item">{{>name}} ({^{:tasks.length}})</li>
{{/if}}
</script>
这是我的javascript:
var taskGroups = [{name:"Notepad", tasks:[]}];
var lastID=0;
$.templates({ tasklistTemplate: "#tmpl" });
$.link.tasklistTemplate("#tasklist", taskGroups);
$("#btnAdd").on("click", function()
{
$.observable(taskGroups[0].tasks).insert(0, {taskID:++lastID});
});
$("#btnRemove").on("click", function()
{
if(taskGroups[0].tasks.length)
{
$.observable(taskGroups[0].tasks).remove(0, 1);
}
});
我无法让这个工作,我不知道我哪里出错了。我非常感谢任何帮助。
答案 0 :(得分:2)
两个问题:First, {{if tasks.length}}
不受数据限制。如果你写{^{if tasks.length}}
,它将被数据绑定。
其次,在jsfiddle中,jsrender.js
的路径错误 - 它不是jquery.render.js
。