簡體   English   中英

Handlebar.js沒有刷新我的模板

[英]Handlebar.js not refreshing my template

好。 我的HTML如下所示。

<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>

我通過Handlebar.js填充上面的內容,並從服務器接收數據。 這是代碼。

$.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));
});

當代碼第一次運行時,它看起來很好。 但是當我第二次調用$ .get(等等)時,模板不會刷新新數據。

我還打印出整個數據字符串,以確保從服務器刷新數據。

當我檢查我的Chrome時,它告訴我“未捕獲的TypeError:無法調用方法'匹配'為null”。

它與“編譯”有關嗎?

你第一次這樣做:

$("#content-placeholder").empty()...

你的<div>變成了這個:

<div id="content-placeholder">
</div>

而你的模板已經消失了。 移動模板:

<script id="some-template" type="text/x-handlebars-template">
    ...
</script>

#content-placeholder之外的某個地方。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM