javascript - 如何使用 meteor 模板中的语句

标签 javascript templates meteor

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

相关文章:

javascript - 如何使用 AJAX 删除项目

c++ - 不同的对象作为同一个函数的参数

c++ - 编译时映射和逆映射值

javascript - 尝试获取平均评分时出现错误模板助手中出现异常 : TypeError: Cannot read property 'rating' of null

meteor - 如何正确使用 Meteor.connect() 连接另一个 Meteor 服务器

javascript - appendTo 不适用于移动设备

javascript - 如何以编程方式将tampermonkey脚本更新为本地文件?

javascript - d3js 强制按钮允许/禁用拖动操作

c++ - SFINAE 用作返回类型,但不是参数类型

javascript - 对 Meteor 感到困惑 this.next() 错误 onBeforeAction