如何:小胡子 if else 语句

how to: mustache if else statement

下面的小胡子怎么写?

我想检查一个变量是否存在,如果存在,我想检查该变量是否等于另一个变量。所以

这将是 PHP 等价物

if ($example && $example == $type) {
}

如果您使用 mustache,目标是在控制器中执行此类逻辑,而不是在模板中。根据 How do I accomplish an if/else in mustache.js? 您可能希望在控制器中进行此类检查并生成一个可以在模板中使用的布尔值

您可以将闭包附加到小胡子数据并将此逻辑放入该闭包中,例如:

var md = {};
md['my_condition'] = function(){
  return (this['some_attr'] && this['some_attr'] == 'expected_val');
}

然后使用 md 对象作为小胡子模板的数据。

或者小胡子简码使用#符号表示'if'所以假设你的简码是{{example}}那么

{{#example}} 
    Start condition if example exists
{{/example}}

并且 ^ 对 'if does not exist'

的工作方式相同
{{ ^example}}
    Start condition if example does not exist
{{/example}}

注意 - 如果使用小胡子条件,您必须记住以与 HTML 属性相同的方式关闭条件。