1

我是 Handlebar js 的新手,并将其用于 Cordova 应用程序开发。我只是尝试使用静态 html 内容。编译后,HTML 内容未呈现。

cordova 6.0、Android 4.4、Javascript 库正在使用“Zepto”

这是我的代码:

<script id="entry-template" type="text/x-handlebars-template">
   <div class="entry">
       <h1>Testing</h1>
       <div class="body">
           Test
       </div>
   </div>
</script>

var source = $("#entry-template").html();
template = Handlebars.compile(source);
$("#mainbox").append(template);

我得到的输出是:

FUNCTION E(A,B){RETURN F||(F=D()),F.CALL(THIS,A,B))
4

1 回答 1

2

模板是一个函数,所以你不能附加它。

您必须将数据传递给模板并附加返回值,例如:

html

<script id="entry-template" type="text/x-handlebars-template">
  <div class="entry">
    <h1>{{title}}</h1>
    <div class="body">
      {{body}}
    </div>
  </div>
</script>

javascript

var source   = $("#entry-template").html();
var template = Handlebars.compile(source);
var context = {title: "My New Post", body: "This is my first post!"};
var html    = template(context);

您必须附加包含来自 template() 函数的返回值的 html var

$("#mainbox").append(html);
于 2016-03-08T16:24:30.370 回答