问题:
您正在尝试使用下划线模板来呈现 HTML,但遇到错误“变量未定义”。您使用的代码是:
var V = Backbone.View.extend({ el:'body', render: function () { var data = { lat: -27, lon: 153 }; this.$el.html(_.template('<%= lat %> <%= lon%>', data)); return this; } }); var v = new V(); v.render();
答案:
问题在于 Underscore 模板的渲染方式。在以前版本的 Underscore 中,您可以一次性解析并填写模板,但在现代版本中,这种情况发生了变化。
要解决该错误,您需要:
代码应如下所示:
var V = Backbone.View.extend({ el:'body', render: function () { var data = { lat: -27, lon: 153 }; var tmpl = _.template('<%= lat %> <%= lon%>'); this.$el.html(tmpl(data)); return this; } }); var v = new V(); v.render();
此更新的代码将使用提供的数据正确呈现模板。
以上是为什么我收到'下划线模板渲染错误:变量未定义”?的详细内容。更多信息请关注PHP中文网其他相关文章!