我喜欢使用 meteor,但我遇到了一个找不到解决方案的问题。
在模板文件中我有这段代码:
<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}
});
};
但这行不通。如何在模板文件中做语句?
期待答案。
最佳答案
空格键( meteor 的模板库),很像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;
}
所以,this
,在辅助函数中是
这假设您处于 status
是变量的上下文中(根据您的问题,您是变量)
每当 status
变量发生变化时,它就会响应式更新。
关于javascript - 如何使用 meteor 模板中的语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23745410/