Meteor 已在{{#each}中时访问模板参数
我想在使用Meteor 已在{{#each}中时访问模板参数,meteor,meteor-blaze,spacebars,Meteor,Meteor Blaze,Spacebars,我想在使用{{{each}}时访问参数模板。比如: <template name="overview"> {{> userList users=users level=0}} </template> <template name="userList"> {{#each users}} <div class="level{{../something}}"> <!-- not working, how ca
{{{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}
{{{#每个用户}}
{{>用户列表用户=用户级别=子级别}
{{name}}
{{/每个}}
Template.userList.helpers({
子级别:函数(){
返回这个+1;
}
});
但它不起作用,你知道吗
从技术上讲,我递归调用的是一个模板,我想知道我的模板处于什么级别。我不确定您想做什么,但这看起来不正确。模板调用本身会导致无限循环。例如,创建一个新的meteor项目,并尝试在“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>
测试
欢迎来到流星!
{{>你好}
点击我
你已经按了{{计数器}次了
{{>你好}
必须有另一种方法来做你想做的事…
<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>
{{>用户列表用户=用户级别=0}
{{{#每个用户}}
{{>用户列表用户=用户级别=子级别}
{{name}}
{{/每个}}
因为您将级别变量括在双引号中,不会进行计算。好的,我最终发现实现这一点的最佳方法是在我的用户数组中添加一个
level
键,而不是用参数传递它。Spacebars似乎无法实现我最初想要的功能。这似乎是一个完全有效的用例,比如公司内部管理用户的树状视图?