[注:This question非常相似,但並不完全相同]如果與underscore.js
我試圖做if
陳述以下劃線的模板。我曾嘗試:
<% if (_id) { %><%=_id %><% } %>
和
<% if (_id) { _id } %>
和
<% if (_id) { <%= _id %> } %>
和一堆其他的組合,但我總是得到錯誤
ReferenceError: _id is not defined
有什麼建議?
[注:This question非常相似,但並不完全相同]如果與underscore.js
我試圖做if
陳述以下劃線的模板。我曾嘗試:
<% if (_id) { %><%=_id %><% } %>
和
<% if (_id) { _id } %>
和
<% if (_id) { <%= _id %> } %>
和一堆其他的組合,但我總是得到錯誤
ReferenceError: _id is not defined
有什麼建議?
我不知道你的代碼是什麼,但_id
顯然是一個標識符。但問題是,您沒有定義_id
。
至於建議,我可能會建議您定義它或使用定義的。在零背景下很難給你一個更好的建議。您可能需要if(typeof _id != 'undefined')
代替。
有點老了,但是這是我如何解決類似的問題:
模型裏面:
var Model = Backbone.Model.extend({
defaults: {
field1: null
}
});
然後在你的模板,你可以這樣做:
<% if (field1) { %>
...
<% } else { %>
...
<% } %>
這裏是上下文。我通過傳遞一個對象屬性來渲染模板。事實證明,有時'_id'不是該對象的屬性之一。在那種情況下,我只想顯示任何內容,但不會出錯。 – Randomblue 2011-12-23 23:08:28
我編輯了我的答案。 – 2011-12-23 23:24:03
它的工作,謝謝!爲什麼我需要'typeof'在這裏?似乎沒有必要。奇怪... – Randomblue 2011-12-23 23:27:55