如果否则车把更短?

时间:2014-07-14 13:01:34

标签: javascript handlebars.js

我正在写一个把手模板。

有没有更短的方式来写这个:

<input type="text" id="date-from" value="{{#if dates.start}}{{dates.start}}{{else}}From{{/if}}" name="date-from"/>

如果value值存在,我想填充dates.start属性,否则使用默认值。

由于

2 个答案:

答案 0 :(得分:0)

不,但你能做的就是使用帮手:

Handlebars.registerHelper('shortIf', function(value) {
    if(value) {
        return value;
    }
    return "From";
});

然后你这样称呼它:

<input type="text" id="date-from" value="{{#shortIf dates.start}}" name="date-from"/>

答案 1 :(得分:0)

与Pablo的答案类似,但是更通用的帮手:

Handlebars.registerHelper('iif', function(value, defaultValue) {
    return value || defaultValue;
});

然后,使用以下模板:

<input type="text" id="date-from" value="{{#iif dates.start 'From'}}{{/iif}}" name="date-from"/>

示例:http://jsfiddle.net/J746R/