Javascript 将对象传递到underline.js模板

Javascript 将对象传递到underline.js模板,javascript,underscore.js-templating,Javascript,Underscore.js Templating,我试图将一个对象传递给underline.js 1.8.3模板,并在模板脚本中使用它。控制台中的简单示例: > t = _.template("<% console.log(data) %>", {data: 42}) > t() Uncaught ReferenceError: data is not defined 将对象传递给模板脚本以供内部使用的正确方法是什么 注意:我知道要替换简单值,请执行以下操作: t = _.template("<%= data

我试图将一个对象传递给underline.js 1.8.3模板,并在模板脚本中使用它。控制台中的简单示例:

> t = _.template("<% console.log(data) %>", {data: 42})
> t()

Uncaught ReferenceError: data is not defined
将对象传递给模板脚本以供内部使用的正确方法是什么

注意:我知道要替换简单值,请执行以下操作:

t = _.template("<%= data %>")
t({data:42})
<- "42"
但我确实需要在更复杂的脚本中传递和使用对象

更新

这项工作:

> t = _.template("<% console.log(data) %>")
> t({data: [1,2,3,4,5]})
我发誓我没有发疯也没有太多。。。我在看backbone.js,他在那里传递对象,比如模板…,对象。也许这就是他们在视频中较旧版本的下划线.js版本1.4.2中所采用的方式?

使用Mustache.js进行渲染,因此您应该使用它的无逻辑语法,而不是执行js代码

根据他们的观点,您应该能够在不使用comments部分中提供的代码的情况下进行迭代,但应使用模板

<%
{{#datum}}
<b>{{datumvalue}}</b>
{{/datum}}
%>
仍然应该考虑使用Mustache.JS进行渲染,以避免模板中出现大量JS并保持项目的完整性,因此应该使用Mustache.JS的无逻辑语法,而不是执行JS代码

根据他们的观点,您应该能够在不使用comments部分中提供的代码的情况下进行迭代,但应使用模板

<%
{{#datum}}
<b>{{datumvalue}}</b>
{{/datum}}
%>

由于版本下划线模板不再接受初始数据对象,因此仍应考虑避免模板中出现大量JS并保持项目的完整性。模板现在总是返回一个函数。

因为版本下划线模板不再接受初始数据对象。\u。模板现在总是返回函数。

更复杂的脚本是什么意思。。。但是让我们不要迷失在杂草中:你说的更复杂的脚本是什么意思。。。但是,我们不要在杂草中迷失方向:我试图在控制台中找到一些东西,但我得到了一个意外的标记!。你能补充你的答案来告诉我们是怎么做的吗?这是不正确的。下划线模板不使用胡子。@UziKilon true,添加了注释以更正它。谢谢我试着在控制台里做些什么,但我得到了一个意想不到的非法标记!。你能补充你的答案来告诉我们是怎么做的吗?这是不正确的。下划线模板不使用胡子。@UziKilon true,添加了注释以更正它。谢谢