2016-04-14 25 views
0

中(WordPress的包裝)下劃線1.6,我試圖做這樣的事情使用自定義標籤:下劃線1.6模板,允許運營商

{| if (1 < 2) print('success') |} 

這裏的下劃線自定義配置:

_.templateSettings = { 
    evaluate : /\{\|(.+?)\|}/g, 
}; 

每當我使用<>運營商,我得到以下內容:

Uncaught SyntaxError: Unexpected token ; 

但如果我使用==一切都OK。爲什麼? 對於我不知道的運營商有限制嗎?

+0

工作正常(https://jsfiddle.net/ambiguous/wa6ao0o9/)。你的模板真的是什麼樣子?此外,提供所有三個_ _templateSettings正則表達式以避免混淆是一個好主意。 –

+0

感謝您的幫助!我發現了這個問題:我使用.innerHTML函數來檢索我的模板內容,並將一些字符轉換爲html實體:「<」就是其中之一。 –

回答

0

因爲我的模板是一個實際的HTML元素,檢索利用innterHTML返回與編碼的HTML實體字符串模板代碼。解決方案很簡單:
var template = _.template(_.unescape(this.el.innterHTML))

+0

或更好,將模板存儲在'