Handlebar.js nicht erfrischend mein template

OK. Meine HTML sieht wie folgt aus.

<div id="json"></div>

<div id="content-placeholder">
  <script id="some-template" type="text/x-handlebars-template">
    <table>
      <thead>
        <th>col 1</th>
        <th>col 2</th>
      </thead>
      <tbody>
        {{#results}}
        <tr>
          <td>{{col_1}}</td>
          <td>{{col_2}}</td>
        </tr>
        {{/results}}
      </tbody>
    </table>
  </script>                     
</div>

Und ich bin füllen den oben über Handlebar.js und die Daten vom server empfangen wird. Hier ist der code.

$.get(get_data_url, function(data)
{
  $('#json').empty().append(data);
  var rows = eval('(' + data + ')');

  var source   = $("#some-template").html();
  var template = Handlebars.compile(source);                                
  $("#content-placeholder").empty().append(template(rows));
});

Wenn der code zum ersten mal ausgeführt, es sieht gut aus. Aber wenn ich den $.Holen Sie sich das zweite mal (und so weiter), wird die Vorlage nicht aktualisiert mit den neuen Daten.

Ich auch drucken Sie das gesamte Daten-string in , um sicherzustellen, dass die Daten vom server aktualisiert, und es ist.

Wenn ich auf mein Chrome sagt mir "Uncaught TypeError: Cannot call method 'match' von null".

Ist es etwas zu tun mit "kompilieren"?

InformationsquelleAutor ericbae | 2011-08-19
Schreibe einen Kommentar