1

私はこのモデルを持っています:

var taskGroups = 
[
   {name:"Notepad", tasks:[]}
];

私の目標は、次の形式で各 taskGroup をリストに表示することです: {Name} {numOfTasks}

taskGroup に空の tasks[] がある場合、それは表示されません。

これが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);
    }
});

私はこれを機能させることができず、どこが間違っているのかわかりません。助けていただければ幸いです。

4

1 に答える 1

2

2つの問題:First, {{if tasks.length}}データにバインドされていません。あなたが書くならば、{^{if tasks.length}}それはデータに縛られます。

第二に、jsfiddleであなたは間違ったパスを持っていましたjsrender.js-それはそうではありませんjquery.render.js

于 2013-02-19T18:01:47.397 に答える