gpt4 book ai didi

javascript - Underscore.js: Uncaught ReferenceError :数据未定义

转载 作者:行者123 更新时间:2023-12-01 02:19:47 25 4
gpt4 key购买 nike

我正在尝试使用 Underscore.js forEach 方法将对象列表加载到模板中:

HTML 模板代码:

<script type="text/template" id="element">
<% _.each(data, function (element) { %>
<div class="col-xs-12 col-sm-12 col-md-4" id="inner-element">
<div class="thumbnail">
<img class="img-responsive" src="../../../img/<%= element.img %>" alt="...">
<div class="caption">
<h3 class="menu-food-name"><%= element.name %></h3>
<p class="menu-food-description"><%= element.description %></p>
<p class="menu-food-price text-right"><span class="label label-info" role="button"><%= element.price %></span></p>
</div>
</div>
</div>
<% }); %>
</script>

Javascript:

var elementTemplate = _.template($('#element').html(), {data: item});
that.$el.append(elementTemplate);

“item”事先定义为一个对象数组,其中包含三个具有属性(名称、描述、价格和 img)的元素,我想在模板中显示(如 console.log(item) 中所示):

Object {0: Object, 1: Object, 2: Object}
0: Object
description: "grilled portobello and balsamic"
img: ""
name: "fungi grigliati"
price: "7.95"
__proto__: Object
1: Object
description: "baked clams"
img: ""
name: "vongole oreganate"
price: "7.95"
__proto__: Object
2: Object
description: "mussels marinara sauce"
img: ""
name: "padellata di cozze"
price: "13.95"
__proto__: Object
__proto__: Object

当我尝试运行此代码时,开发控制台中不断出现“ Uncaught ReferenceError :数据未定义”错误。我想我可能忽略了 Underscore forEach 方法工作原理背后的功能。我假设我传递的数据格式可能不正确。对此的任何想法/帮助都会很棒。

最佳答案

错误就在那里,data未定义。这与_.each无关;相反,您错误地使用了 _.template

第二个参数是templateSettings,而不是数据。您将数据传递给 _.template 返回的函数。

// create template function
var elementTemplate = _.template($('#element').html());
// render the template with the given data
that.$el.append(elementTemplate({data: item}));

关于javascript - Underscore.js: Uncaught ReferenceError :数据未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26937444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com