我的把手标签中有以下内容:
{{#editmode mode}}
<div class="form-group login-input">
<i class="fa fa-key overlay"></i>
<input type="password" class="form-control text-input" name="password" placeholder="Password" value="{{password}}">
</div>
<div class="form-group login-input">
<i class="fa fa-key overlay"></i>
<input type="password" class="form-control text-input" name="password_confirmation" value="{{password}}">
</div>
{{/editmode}}
我将以下注册为我的帮助函数:
Handlebars.registerHelper('editmode', function(mode){
return mode == 'edit' ? true : false;
});
传递给车把模板的对象如下所示:
{
firstname: 'Test',
lastname: 'Test lastname',
mode: 'new
}
所以基本上,每当'mode'变量为'new'时,我想显示密码字段,否则隐藏它们,但现在它们总是被隐藏。有什么想法吗?
答案 0 :(得分:2)
我明白了。这就是诀窍:
Handlebars.registerHelper('editmode', function(mode, options){
return mode == 'edit' ? '' : options.fn();
});
答案 1 :(得分:0)
您可以使用if
声明。
<div class="form-group login-input">
<i class="fa fa-key overlay"></i>
<input type="password" class="form-control text-input" name="password" placeholder="Password" value="{{password}}">
</div>
{{#if mode}}
<div class="form-group login-input">
<i class="fa fa-key overlay"></i>
<input type="password" class="form-control text-input" name="password_confirmation" value="{{password}}">
</div>
{{/if}}