流星把手:比较两个变量的条件是什么?

时间:2014-03-27 13:21:55

标签: meteor handlebars.js

我无法找到在带有流星和把手的模板中做这样的事情的方法:

{{#if var1 == var2}}
{{/if}}

我还设置了Meteor Handlebars Helpers,这似乎也不起作用while it should

{{#if $eq var1 var2}}
{{/if}}

那么在模板中将两个变量与Handlebars进行比较的正确方法是什么?

编辑:事实上,这似乎超出了there should be no logic in templates的Handlebar意识形态。

1 个答案:

答案 0 :(得分:3)

现在这并不像你想象的那么容易。我想我已经读到这可能是流星1.0中的一个功能。

您有以下三种可能性:

HTML:

<template name="stuff">
  {{#if isTrue}}
    ...
  {{else}}
    ...
  {{/if}}
</template>

JS:

Template.stuff.helpers({
  isTrue: function () {
    return var1 === var2;
  }
});

另一种可能性是提供一个自己的把手帮手:

HTML:

{{compare "var1" "var2"}}

JS:

Handlebars.registerHelper('compare', function(var1, var2) {
  return var1 === var2;
});

或者您使用任何其他Handlebars帮助程序包,其中有人已经为您完成了工作。我不知道您使用的包装,所以我无法给出关于您的问题的详细解决方案,但也许您可以很好地了解如何实现这一目标。