我喜欢与流星一起工作,但是有一个我找不到解决方案的问题.
在模板文件中,我有以下代码:
<template name="klussenboard">
<h2>Klussen</h2>
<div class="klussenboard">
{{#each klus}}
{{#if status=1}}
<li>
<a class="startlink" href="#"><img src="/images/starten.png"></a>
</li>
{{/if}}
{{/each}}
</div>
</template>
这是js客户端代码
Template.klussenboard.klus = function () {
return Klussen.find({"status": { $gt: 0 }}, {
sort: {datum: -1}
});
};
但这是行不通的.如何在模板文件中进行声明?
期待一个答案.
解决方法:
空格键(流星的模板库),就像Handlebars(基于它)一样,不会执行诸如angular.js模板之类的任意表达式.
如果您更改语句,则尝试将其写入辅助方法,如下所示(请随意选择一个更好的名称!):
<template name="klussenboard">
<h2>Klussen</h2>
<div class="klussenboard">
{{#each klus}}
{{#if isEnabled}}
<li>
<a class="startlink" href="#"><img src="/images/starten.png"></a>
</li>
{{/if}}
{{/each}}
</div>
</template>
然后,您可以在任何客户端.js文件中定义isEnabled帮助器-例如,client / klussenboard.js如下所示:
Template.item.isEnabled = function() {
return this.status == 1;
}
因此,这在辅助函数中是
假设您处于状态为变量的上下文中(根据您的问题,您是)
然后,只要状态变量发生更改,它就会做出反应性更新.