2013-08-29 89 views
2

流星新手在這裏。流星數據嵌套模板

我有一個主頁模板。主頁有幾個「日」,其中每個都有「任務」。我想在它屬於的那一天顯示相應的任務,但我不知道如何執行此操作。

我也只想用一個數據庫查詢檢索相關任務(如果可能的話)(即兩週內的所有任務)。

我發現了其他一些與此相關的問題,包括thisthis,但我無法辨別出任何有用的相關信息。

我有一個任務集合,作爲主頁的一部分,我檢索了兩週的任務。然後我把它們分成日桶。

buckets = [[...], [...], [...], ... ] # array of arrays of task objects 

現在我不知道該怎麼做。在回家的模板,我想我能做到

Template.home.helpers(
    tasks:()-> 
     #return buckets, defined above 
) 
(home.coffee) 

<template name="home"> 
    {{#each tasks}} 
     {{> day}} 
    {{/each}} 
</template> 
(home.html) 

遍歷天鬥,但我怎麼每天從模板訪問任務的對象?

<template name="day"> 
    {{#each ???}} 
     {{> task}} 
    {{/each}} 
</template> 

<template name="task"> 
    {{name}} 
</template> 

如何從父模板的每個循環的當前迭代訪問數據?我是否錯誤地構造了這個?我應該每天做單獨的數據庫調用嗎?

+0

我很高興你解決了這個問題,我看到了你的tweet太晚了:) – imslavko

回答

3

應該做的伎倆:

<template name="day"> 
    {{#each this}} 
     {{> task}} 
    {{/each}} 
</template> 

編輯:這是不正確的原來的答案。

task具有稱爲name,importantdueToday的字段。然後,你可能會寫:

<template name="day"> 
    {{name}} 
</template> 

或者,如果你堅持:

<template name="day"> 
    {{this.name}} 
</template> 

另外:

Template.day.isItUrgent = function() { 
    return this.data.important && this.data.dueToday; 
}; 
+0

對不起,這可能一直不清楚,但每個桶實際上都是一個Task對象的數組。所以我想如果我這樣做,它會錯誤,因爲我試圖找到一個數組的名稱屬性。 – Oliver

+0

哎呦,我的壞。我已經更新了答案。 –

+0

沒有意識到這是指每個輸入。當然。謝謝! – Oliver