请原谅我提出这个愚蠢的问题,我知道你不应该在 Handlebars 表达式中添加逻辑,但我对此很陌生,我不知道如何解决它。
基本上,我想根据 Handlebars 表达式的值更改按钮的文本,但我不确定如何在无法在我的 {{#if}} 中添加逻辑运算符的情况下执行此操作
声明。
基本上,当 {{form.target}}
的值等于“new”时,我希望按钮文本显示“Save”,如果该值等于“edit” ',我希望文本显示“保存更改”。
如果可以的话,我会这样写:
<button>
{{#if {{form.target}} == 'new'}}
Save
{{#else if {{form.target}} == 'edit'}}
Save Changes
{{/if}}
</button>
显然我在这里偏离了基地,所以我希望有人能指出我这样做的正确方法?
最佳答案
您可以注册助手
<button>
{{#equals form.target "new"}}
Save
{{else}}
{{#equals form.target "edit"}}
Save Changes
{{/equals}}
{{/equals}}
</button>
Handlebars.registerHelper("equals", function(string1 ,string2, options) {
if (string1 === string2) {
return options.fn(this);
} else {
return options.inverse(this);
}
});
关于javascript - Handlebars if/else 语句中的逻辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50712361/