javascript - Handlebars if/else 语句中的逻辑?

标签 javascript html handlebars.js

请原谅我提出这个愚蠢的问题,我知道你不应该在 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/

相关文章:

javascript - 悬停时的 Jquery 幻灯片动画

c# - Selenium : xpath following-sibling where siblings have more children

ember.js - 如何在 Controller 中获取 Emberjs 生成的元素 ID

node.js - 从服务器端的 Handlebars 模板获取 HTML 代码

javascript - 如何在 Node.JS 中将 HTML 字符串转换为 PNG 字节数组?

javascript - Flowplayer 具有不自动播放的播放列表

javascript - Firefox .naturalHeight 属性

javascript - 循环遍历对象数组

php - 扫描远程站点的 DOM

javascript - 如何设置 IntelliJ(社区版本)来处理 EmberJS 项目?