我想在{{#each}}
上访问参数模板。类似的东西:
<template name="overview">
{{> userList users=users level=0}}
</template>
<template name="userList">
{{#each users}}
<div class="level{{../something}}">
<!-- not working, how can i access {{something}} here ? -->
{{>userList users=users level=subLevel}}
{{name}}
{{/each}}
</template>
Template.userList.helpers({
subLevel: function() {
return this + 1;
}
});
但它没有用,你有什么想法吗?
从技术上讲,我以递归方式调用模板,并且我想知道我的模板在什么级别。
答案 0 :(得分:0)
我不确定你要做什么,但这看起来不对。调用自身的模板会导致无限循环。例如,创建一个新的meteor项目并尝试调用{{&gt; hello}}在“hello”模板中。它不起作用。
<head>
<title>test</title>
</head>
<body>
<h1>Welcome to Meteor!</h1>
{{> hello}}
</body>
<template name="hello">
<button>Click Me</button>
<p>You've pressed the button {{counter}} times.</p>
{{> hello}}
</template>
必须有另一种方法来做你想要做的事情......
答案 1 :(得分:0)
<template name="overview">
{{> userList users=users level=0}}
</template>
<template name="userList">
{{#each users}}
<div class=level>
{{>userList users=users level=subLevel}}
{{name}}
{{/each}}
</template>
因为您在双引号中包含了无法计算的级别变量。
答案 2 :(得分:0)
好的,我终于发现实现这一目标的最佳方法是在我的用户数组中添加level
键,而不是使用参数传递它。 Spacebars似乎无法达到我最初想要的效果。