我在jsp文件中有把手代码。当我使用$ {var}时,显示我是真/假。现在我需要在下面的handlebar脚本下的同一个文件中使用它:
${flag} // true or false
<script type="text/x-handlebars-template" id="tpl-bla">
{{#each item}}
<div>
{{#if this.Options}}
{{#this.ida}}
{{#unless @index}}
{{#if icon}}
{{#if flag}}
<img>
{{/if}}
{{/if}}
{{/unless}}
{{/this.ida}}
............ More Code...............
flag是字符串值。有谁知道如何解决这个问题?我希望当flag等于“true”时显示img。
我尝试过但没有用,在脚本代码中添加以下代码段:
Handlebars.registerHelper('ifcond', function(v1, v2, options) {
if(v1 === v2) {
return options.fn(this);
}
});
添加以下行:
{{#ifcond flag === 'true'}}
<img />
{{/ifcond}}
答案 0 :(得分:1)
===
不是有效的把手,将其删除,你的阻止就可以了。
更改
{{#ifcond flag === 'true'}}
<img />
{{/ifcond}}
要强>
{{#ifcond flag 'true'}}
<img />
{{/ifcond}}
您可以改进帮助,添加{{else}}
支持:
Handlebars.registerHelper('ifcond', function(v1, v2, options) {
if (v1 === v2)
return options.fn(this);
return options.inverse(this); //Will enter else block
});
然后您可以使用:
{{#ifcond flag 'true'}}
<img />
{{else}}
<!-- I'm false -->
{{/ifcond}}