我想有一個遞歸模板是這樣的:流星遞歸模板無效
<template name="generate">
{{#if elements}}
{{#each elements}}
<div>{{#if elements}}{{> generate}}{{/if}}</div>
{{/each}}
{{else}}
{{> generate elements=getElements}}
{{/if}}
</template>
與助手:
Template.generate.helpers({
getElements: function() {
return Elements.find()
}
})
和 「元素」 數據對象:
[{
_id : "fgQ4GHrrZGFFGWPZQ",
elements" : [{
_id : "hY8iAYJC4KBwGKN84",
elements : []
}]
},{
_id : "rtMNfaQYwqzNTYqoD",
elements : [{
_id : "p2wJeGdtiGMYBQtpW",
elements : []
}]
}]
我遇到了鍵盤事件變得無響應並且其他功能停止工作的問題。是不是設計用於處理這種遞歸的模板?如果是這樣,我會嘗試一種不同的方法,但我認爲這將工作。任何人看到這個或有任何建議?謝謝!
編輯:這將工作。我的問題是在「render」回調中設置了一個鍵盤事件處理程序,這個回調函數被多次調用(每次模板被渲染時)導致我提到的問題。我會刪除這個問題,但stackoverflow。謝謝everybuddy!
我肯定模板可以處理遞歸,所以你可能有無限遞歸。請記住,空數組('[]')是真的。 – 2015-02-24 07:43:41
注意自我:總是複製/粘貼而不是使用自己的單詞,所以不會出現愚蠢的拼寫錯誤([空陣列在Space欄中的#if塊中是虛假的](https://github.com/meteor/meteor/blob/devel /packages/spacebars/README.md#ifunless),作爲(類型)在下面的答案中提到的一種)。 – 2015-02-24 13:55:15
看起來像這樣可以起作用。我的代碼中有其他錯誤。感謝大家的幫助! – brg 2015-02-24 23:35:19