在Handlebars中,是否可以检查一个字符串是否等于另一个值而不注册帮助器?我似乎在Handlebars参考文档中找不到任何相关的信息。
例如:
{{#if sampleString == "This is a string"}}
...do something
{{/if}}
在Handlebars中,是否可以检查一个字符串是否等于另一个值而不注册帮助器?我似乎在Handlebars参考文档中找不到任何相关的信息。
例如:
{{#if sampleString == "This is a string"}}
...do something
{{/if}}
在 server.js 中添加 Node.js
const isEqual = function(a, b, opts) {
if (a == b) {
return opts.fn(this)
} else {
return opts.inverse(this)
}
}
var hbs = require('hbs');
hbs.registerHelper('if_eq', isEqual);
我和 OP 一样遇到了同样的困难,决定将调用委托给 Javascript,而不是试图强制 Handlebars 屈服于我的意愿...
Javascript 函数(在全局范围内) -
function jsIfElse(compare1, compare2, trueResponse, falseResponse) {
document.write((compare1 == compare2) ? trueResponse : falseResponse);
}
<select multiple id="batter_player_team">
{{#each teamNamesForFilter}}
<option value="{{this.id}}"> <script></script>
</option>
{{/each}}
</select>
{{#equal status "Full Time"}} //status is the variable and Full Time is the value your checking for.
code to be executed
{{else}}
code to be executed
{{/equal}}
{{#if `operating_system == "OS X"`}}
<p>Click here for instructions to install on a Mac</p>
{{elseif `operating_system == "Windows"`}}
<p>Click here for instructions to install on a PC</p>
{{/if}}
我不确定这在一般情况下是否可行,但你应该试一试。对我来说它很好用。
{{#is item.status "complete"}} ... {{/is}}