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 変数を追加する必要があります

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