【发布时间】:2013-09-23 20:13:23
【问题描述】:
//HTML template
requirejs([
'handlebars',
'htmlTemplates/mydiv',
'text!htmlTemplates/mydiv.html'
],
function (notUsed0, mydivData, mydivTemplate)
{
console.log(mydivData);
var theTemplate = Handlebars.compile (mydivTemplate);
$(".mydiv").append(theTemplate(mydivData));
//error Uncaught TypeError: Cannot read property 'customerName' of undefined
}
);
数据 - mydiv.js
{
customerName: "peter"
}
模板 - mydiv.html
<div> Name: {{ customerName }} </div>
mydiv 是我的 index.html 正文标签中的一个 DIV 元素
-----编辑----- 我也尝试在函数内定义一个变量
var theData = {customerName:"Shop Page"};
现在一切正常,没有错误,但 html 仍未附加到 index.html 中带有 mydiv id 的 DIV。为什么?
【问题讨论】:
-
您是否将视图和模板粘贴到同一个文件中 - 因为您调用了两次 mydiv?
-
我在哪里调用它两次?请检查编辑 - 帖子的最后一行
-
不,他没有调用两次,第一次是.js,第二次是.html
标签: javascript requirejs handlebars.js