我正在学习骨干。在使用underscore.js进行模板化时,我遇到了一个问题 以下是代码。
var V = Backbone.View.extend({
el: "body",
render: function () {
var data = {
name: "MyName"
};
this.$el.html(_.template('<%= name %>', data));
return this;
}
});
var v = new V();
v.render();
输出:
result
应该是:
MyName
代码 - JSFiddle
我哪里错了?
答案 0 :(得分:2)
您需要以data
对象作为参数来调用/评估模板。
因此应该是:
_.template('<%= name %>')(data);
或:
_.template('<%= name %>')({
name: "MyName"
});
根据documentation for the _.template
function,您将data
对象作为可选设置参数传递。
_.template(templateString, [settings])
var V = Backbone.View.extend({
el: "body",
render: function () {
var data = {
name: "MyName"
};
this.$el.html(_.template('<%= name %>')(data));
}
});
var v = new V();
v.render();
输出:
MyName