0

我正在使用下劃線模板來創建一些標記。我正在使用no方法,因此我正在定義變量設置。下劃線否與模板運行時測試的未定義變量

所以我的模板聲明看起來像這樣:

_.template('<div><%= data.title %></div>', { titles: title }, { variable: 'data'}); 

它工作正常,並評估模板很好,但是當我運行我的單元測試,看來,我得到了錯誤的數據是不確定的。

通過用這個,或自己或obj替換數據,它似乎工作正常。

_.template('<div><%= this.title %></div>', { titles: title }, { variable: 'this'}); 

OR

_.template('<div><%= this.title %></div>', { titles: title }, { variable: 'obj'}); 

OR

_.template('<div><%= self.title %></div>', { titles: title }, { variable: 'self'}); 

感謝您的信息:如果有任何處罰使用的那些話,像這樣我想知道。

+0

你的模板期望一個名爲'title'的屬性,但數據對象有一個名爲'titles'的屬性。錯字? – psquared

回答

0

您期待「標題」作爲對象中的鍵,而對象包含的鍵是「標題」。另外,您不需要將第三個參數傳遞給_.template

由於_.template返回功能,可以直接通過它需要作爲參數的對象調用該函數,如下所示:

Working Demo

的JavaScript:

var temp = {"title": "Hello world!"}; 
/* Approach 1 
var t = _.template('<div><%= title %></div>'); 
document.getElementById("output").innerHTML = t(temp); 
*/ 
/* Approach 2 */ 
document.getElementById("output").innerHTML = _.template('<div><%= title %></div>', temp);