2016-03-26 13 views
0

これは私のコードであるparamsは:流星宇宙・天体バー - {{#eachは}}

HTML

カード1:

<!-- Shopping list --> 
<div id='shopping' class='card'> 
    {{#each task}} 
    <ul class="card__task"> 
    <li>{{taskText}}</li> 
    <i class="fa fa-minus delete-task"></i> 
    </ul> 
    {{/each}} 
</div> 

カード2:

<!-- Medicine list --> 
<div id='medicine' class='card'> 
    {{#each task}} 
    <ul class="card__task"> 
    <li>{{taskText}}</li> 
    <i class="fa fa-minus delete-task"></i> 
    </ul> 
    {{/each}} 
</div> 

のtemplate.helper

task: function() { 
    return Tasks.find({}, { 
     sort: { 
     createdAt: -1 
     } 
    }); 
    } 

タスクコレクション例

Ex.1:

... 
    "taskGroup": "medicine", 
    "taskText": "medicine task 1", 
    ... 

Ex.2:

... 
    "taskGroup": "shopping", 
    "taskText": "shopping task 1", 
    ... 

だから、私はに対応するtaskGroupでタスクを保存するコレクションを持っています。今のところeachは私のtasks collectionにあるすべてのタスクを反復処理し、それらの2枚のカードはすべてのタスクを表示します。

質問:

どのようにのみ、このカードidに等しいtaskGroupを持っているタスクを反復処理するeachブロックを伝えることができますか?

ような何か:あなたはタスクグループ

tasks: function(taskGroup) { 
return Tasks.find({ 
taskGroup: taskGroup; 
}, { 
    sort: { 
    createdAt: -1 
    } 
}); 

}

でフィルタを行い炎ヘルパーを作成することができます

task: function() { 
    return Tasks.find({ 
    taskGroup: *the card where each block is located*.getAttribute("id"); 
    }, { 
     sort: { 
     createdAt: -1 
     } 
    }); 
    } 

答えて

1

あなたは、このようなテンプレートにそれを呼び出すことができますこの方法

{{#each tasks 'medicine'}} 
... 
{{/each}} 
+0

ありがとうとても大変です!出来た! – Edgar