if语句使用underscore.js

时间:2011-12-23 22:57:21

标签: javascript underscore.js

[注意:This question非常相似,但不完全相同。]

我正在尝试使用下划线模板执行if语句。我试过了:

<% if (_id) { %><%=_id %><% } %>

<% if (_id) { _id } %>

<% if (_id) { <%= _id %> } %>

和一堆其他组合,但我总是得到错误

  

ReferenceError:_id未定义

有什么建议吗?

2 个答案:

答案 0 :(得分:6)

我不知道您的代码是什么,但_id显然是一个标识符。但问题是,您没有定义_id

至于建议,我可能建议您定义它或使用已定义的那个。在没有背景的情况下,很难给出更好的建议。

编辑:您可能需要if(typeof _id != 'undefined')

答案 1 :(得分:0)

有点旧,但这就是我解决类似问题的方法:

在你的模型中

var Model = Backbone.Model.extend({

    defaults: {
        field1: null
    }

});

然后在你的模板中你可以做到:

<% if (field1) { %>
    ...
<% } else { %>
    ...
<% } %>