2012-08-17 54 views
1

在下劃線模板中,除了名稱外還有其他方式來訪問屬性嗎?我有一個叫做「2a」的字符,我不能直接引用它,因爲它的第一個字符是一個數字。例如,這不起作用:如何訪問模板中的屬性,除了名稱?

  <input type="checkbox" name="6a" <%= 6a ? "checked" : "" %>> 

謝謝!

回答

1

除重命名違規屬性之外,還有其他幾個選項。

下劃線的_.templatevariable選項:

默認情況下,模板通過with聲明地方的值從你的數據在局部範圍內。但是,您可以使用變量設置來指定單個變量名稱。

所以,你可以這樣做:

<input type="checkbox" name="6a" <%= v['6a'] ? "checked" : "" %>> 

這:

var t = _.template($('#whatever').html(), null, { variable: 'v' }); 
var h = t({ '6a': true });​ 

演示:http://jsfiddle.net/ambiguous/hBhfu/

您也可以手動把它包起來,當你調用模板函數:

t({ v: { '6a': true }}); 

在這種情況下,您將使用與上面相同的模板。

演示:http://jsfiddle.net/ambiguous/8AZKw/