我喜欢使用 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/34954150/