把手根据配置值选择两个项目中的一个

时间:2015-04-15 08:26:43

标签: javascript jquery handlebars.js

所以我想显示两种照片中的一种,具体取决于存储在配置对象中的值,likeo

config {
    image_size: 'small'
}

然后我有一个图像大小不同的数组

images = [{
    'small': small-url,
    'standard': standard-url
}]

到目前为止,我在javascript中制作了我的逻辑

config.image_size === 'small' ?

然后我映射图像并返回我感兴趣的尺寸。

但问题是,我可以在Handlebars中做到这一点吗?理想情况下,我想通过点击和加载显示方法更改配置,该方法将检查应该是什么尺寸。

很抱歉打扰,只是想知道是否有更好的方法

1 个答案:

答案 0 :(得分:0)

您可以注册Handlebars助手:

Handlebars.registerHelper('ifCond', function(v1, v2, options) {
  if(v1 === v2) {
    return options.fn(this);
  }
  return options.inverse(this);
});

然后在您的模板上使用它:

{{#ifCond v1 v2}}
    {{v1}} is equal to {{v2}}
{{else}}
    {{v1}} is not equal to {{v2}}
{{/ifCond}}