为什么这个lodash模板会抛出语法错误?它看起来很好

时间:2015-12-18 13:10:15

标签: javascript templates syntax-error underscore.js lodash

这个模板对我来说非常好:

var renderFormElement = _.template([
    '<% if (input.hasOwnProperty("label")) { %>',
        '<label class="form__label" for="<%- input.key %>"> <%- input.label %> </label>',
    '<% } %>',
    '<% if (input.hasOwnProperty("options")) { %>',
        '<select name="<%- input.key %>" id="<%- input.key %>">',
            '<% _.forEach(input.options, function(option) { %>',
                '<option value=""><%- options %></option>',
            '<% }); %>',
        '</select>',
    '<% } elseif (input.hasOwnProperty("type")) { %>',
        '<input type="<%- input.type %>"/>',
    '<% } %>'
].join('\n'));

然而它抛出了“Uncaught SyntaxError:Unexpected token {”异常。我在这疯狂吗?不幸的是,我似乎无法为我的编辑器(Sublime Text)找到合适的linter / syntax荧光笔,并且在在线验证器中粘贴此代码会给我完全相同的错误。

enter image description here

1 个答案:

答案 0 :(得分:0)

elseif替换为else if ..