怎么不是帮手?

时间:2015-12-18 19:37:46

标签: javascript meteor meteor-blaze

执行NOT操作的最佳方法是什么?

例如,这里是javascript

Template.mytemplate.helper({
  myhelper : function(){
    return true;
  }
});

现在我怎么得到!myhelper在模板中?我一直在做

<template name="mytemplate">
  {{#if myhelper}}
  {{else}}
    myhelper is false
  {{/if}}
</template>

但是必须有更好的方法。我可以创建一个平等助手并做{{#if equal myhelper true}},但这看起来不是很干净。

有没有人有更好的想法?

2 个答案:

答案 0 :(得分:6)

我认为你应该可以使用#unless空格键来获得你想要的东西:

<template name="mytemplate">
  {{#unless myhelper}}
    myhelper is false
  {{/unless}}
</template>

答案 1 :(得分:0)

我建议您只在帮助者名称中使用isNot

比较

<template name="mytemplate">
  <!--
    ✓ Easy to read
    – Looks not clean
  -->
  {{#if isActive}}
  {{else}}
    item is not active
  {{/if}}

  <!--
    - Not very easy to read
    ✓ Looks clean
  -->
  {{#unless isActive}}
    item is not active
  {{/unless}}
</template>
Template.mytemplate.helpers({
  isActive: function() {
    return Session.get('isActive');
  },
});

VS

<template name="mytemplate">
  <!--
    ✓ Easy to read
    ✓ Looks clean
  -->
  {{#if isNotActive}}
    item is not active
  {{/if}}
</template>
Template.mytemplate.helpers({
  isNotActive: function() {
    return ! Session.get('isActive');
  }
});