2012-07-31 55 views
1

我想知道是否有可能使用句柄中的可能的AND语句来做类似的事情: 如果不是最好的方法是什么使得有相同的结果。和使用手把的语句


这是JavaScript方面:

{ 
    title: "My first post!", 
    author: { 
    firstName: "Charles", 
    lastName: "Jolley" 
    } 
} 

这是HTML背景:

<div class="entry"> 
    {{#if firstName && lastName}} 
    <h1>{{firstName}} {{lastName}}</h1> 
    {{/if}} 
</div> 

回答

2

没有,本地{{#if}}不明白语法。然而,你可以很容易add your own helper这样的事情,如果你不介意与arguments搞乱,你甚至可以使用未知数量的参数给你的帮手。

唯一棘手的部分是注意到帮助器的块参数总是最后一个。

一些简单的像这样会做的伎俩:

Handlebars.registerHelper('if_all_true', function() { 
    var args = Array.prototype.slice.call(arguments); 
    var block = args.pop(); 
    for(var i = 0; i < args.length; ++i) 
     if(!args[i]) 
      return block.inverse(this); 
    return block(this); 
}); 

演示:http://jsfiddle.net/ambiguous/jMLcZ/