2012-08-24 105 views
3

我得到試圖解析這個存儲爲多行字符串下劃線模板時出現錯誤:多線下劃線模板和_.each

{{ _.each(records, function(record, index) { }}\ 
    <tr>\ 
     {{ record.get("hours") }}\ 
    </tr>\ 
{{ }) }}\ 

錯誤:

Uncaught SyntaxError: Unexpected token)

在第1行(_each行)。

根據下劃線的docs,語法看起來正確。

編輯:我應該注意到,我在我的模板中使用了{{而不是<%=,並且回到<%=並沒有解決問題。

編輯:這是我使用的評價正則表達式:

// Underscore templates should use {{ variable_name }} instead of <%= variable_name =%> 
_.templateSettings = { 
    interpolate: /\{\{(.+?)\}\}/g 
}; 

回答

4

您需要使用{[,進行評估。

假設你先defined a regex更改underscore.js用來評估默認符號,例如

_.templateSettings = { 
     evaluate: /\{\[([\s\S]+?)\]\}/g, 
     interpolate: /\{\{([\s\S]+?)\}\}/g, 
     escape: /\{\{-([\s\S]+?)\}\}/g 
}; 
但似乎

然後,您可以像做

{[ _.each(records, function(record, index) { ]} 
    <tr> 
     {{ record.get("hours") }} 
    </tr> 
{[ },this); ]} 
+0

由於沒有上班。使用支架和支架有什麼區別? –

+1

對不起,您是否首先爲評估定義了「正則表達式」?我只是用它更新了我的連接。 – Jack

+0

我想我的正則表達式評估是不完整的。我錯過了評估屬性。我將不得不深入一點來研究它。我不知道那是存在的。謝謝! –