我使用以下网址中的信息为Meteor 0.9.3创建了一个自定义块帮助器: https://github.com/meteor/meteor/wiki/Using-Blaze#new-pattern-for-defining-custom-block-helpers
它可以在Spacebars模板中使用,如下所示:
{{#ifEqual value1="stringOrNumber_1" value2="stringOrNumber_2"}}
<h1>The values ARE equal!</h1>
{{else}}
<h1>The values are NOT equal!</h1>
{{/ifEqual}}
以下是代码:
<template name="ifEqual">
{{#if isEqual value1 value2}}
{{> UI.contentBlock}}
{{else}}
{{> UI.elseBlock}}
{{/if}}
</template>
Template.ifEqual.isEqual = function (value1, value2) {
return value1 === value2;
};
我的问题是:
有没有办法让这个不那么笨重?
我更喜欢可以在模板中使用的代码,如下所示:
{{#ifEqual "stringOrNumber_1" "stringOrNumber_2"}}
...
答案 0 :(得分:1)
我会注册一个全球equals
帮助者:
Template.registerHelper('equals', function(value1, value2){
return value1 === value2
})
然后像这样使用它:
{{#if equals "abc" "abc"}}
<p>They're equal :)</p>
{{else}}
<p>They're not equal :(</p>
{{/if}}
尽管如此,您可能有兴趣使用underscore-helper软件包,因此您不必自己定义此(和类似)帮助程序。