1
//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 的 body 标记中的一个 DIV 元素

------edit----- 我也尝试在函数内部定义一个变量

var theData = {customerName:"Shop Page"};



现在一切正常,没有错误,但 html 仍然没有附加到我的 index.html 中带有 mydiv id 的 DIV。为什么?

4

1 回答 1

1

myDiv.jsrequirejs您一起使用,必须将其内容包装在 Require 可以理解的声明中。检查http://requirejs.org/docs/api.html#defsimple上的文档

将内容更改myDiv.js为:

define({
    customerName: "peter"
});
于 2013-09-23T12:13:23.837 回答