我有一个未呈现的 Underscore.js 模板。这个 JSFiddle解释了我的问题。
// this string will get loaded by an ajax call and put in a variable when the application starts
var allTemplates = '<section id="header">header template</section> <section id="content"><% var test = 10 %><%= test %></section>"';
// put it in the DOM to parse it with jQuery
$('#test').html(allTemplates);
var getSpecificTemplate = function(templateID) {
return $('#test').find('#' + templateID).html();
};
var templateData = getSpecificTemplate('content');
// expected log output: 10
// actual log output: <% var test = 10 %><%= test %>
console.log( _.template(templateData, {}) );
// why?
这个设置几乎等于我的代码。可能是什么问题呢?为什么模板甚至被编码?