0

我使用来自以下 URL 的信息为 Meteor 0.9.3 创建了一个自定义块助手: https ://github.com/meteor/meteor/wiki/Using-Blaze#new-pattern-for-defining-custom-block-帮手

它可以在空格键模板中使用,如下所示:

{{#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"}}
...
4

1 回答 1

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包感兴趣,因此您不必自己定义这个(和类似的)助手。

于 2014-10-01T19:47:38.610 回答