首页 >web前端 >js教程 >为什么我的 Backbone.js 代码中出现'下划线模板错误:变量未定义”?

为什么我的 Backbone.js 代码中出现'下划线模板错误:变量未定义”?

DDD
DDD原创
2024-11-13 06:11:02905浏览

Why am I getting an

下划线模板错误:“变量未定义”

在提供的 Backbone.js 示例中,使用下划线时遇到错误模板。错误消息显示“变量未定义”。为了理解这个问题并解决它,让我们深入研究一下 Underscore 模板的用法。

在旧版本的 Underscore(版本 1.7.0 之前)中,_.template 函数的第二个参数用于提供模板的数据。这允许使用简洁的语法,其中模板和数据可以在一行中指定。

但是,从 Underscore 版本 1.7.0 开始,_.template 的第二个参数已被重新调整用途以适应模板选项。这意味着以前直接在第二个参数中指定数据的方法不再有效。

要解决此问题,需要使用 _.template 函数编译 Underscore 模板,然后执行生成的函数获取填写好的模板。正确的语法是:

var tmpl = _.template(template_string);
var html = tmpl(data);

在提供的 Backbone.js 示例中,以下代码将解决错误:

render: function () {
  var data = { lat: -27, lon: 153 };
  var tmpl = _.template('<%= lat %> <%= lon %>');
  this.$el.html(tmpl(data));
  return this;
}

通过先编译模板,然后执行加上指定的数据,“变量未定义”的错误将被消除,使模板能够渲染正确的内容。

以上是为什么我的 Backbone.js 代码中出现'下划线模板错误:变量未定义”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn