我想有一个递归模板是这样的:流星递归模板无效
<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