看来你不能"直接"做到这一点
尝试使用助手,为什么不呢?
在您的javascript代码中注册助手:
Handlebars.registerHelper('ifEquals', function(arg1, arg2, options) { return (arg1 == arg2) ? options.fn(this) : options.inverse(this); });
在模板中使用:
{{#ifEquals sampleString "This is a string"}} Your HTML here {{/ifEquals}}
这里有更多细节: handlebars.js {{#if}}条件中的逻辑运算符
UPD: 另一种方式:
假设您的数据是:
var data = { sampleString: 'This is a string' };
然后(使用jQuery):
$.extend(data, {isSampleString: function() { return this.sampleString == 'This is a string';} });
使用模板:
{{#if isSampleString}} Your HTML here {{/if}}
我会像这样使用帮手:
Handlebars.registerHelper('ifeq', function (a, b, options) { if (a == b) { return options.fn(this); } return options.inverse(this); }); Handlebars.registerHelper('ifnoteq', function (a, b, options) { if (a != b) { return options.fn(this); } return options.inverse(this); });
然后在你的代码中:
{{#ifeq variable "string"}} ... do this ... {{/ifeq}} {{#ifnoteq variable "string"}} ... do this ... {{/ifnoteq}}