我想知道是否可以在handlebar中使用可能的AND语句来制作类似的东西: 如果不是,最好的方法是什么,得到相同的结果。
这是javascript上下文:
{
title: "My first post!",
author: {
firstName: "Charles",
lastName: "Jolley"
}
}
这是HTML上下文:
<div class="entry">
{{#if firstName && lastName}}
<h1>{{firstName}} {{lastName}}</h1>
{{/if}}
</div>
答案 0 :(得分: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);
});