Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在HTML中加载大表,还有哪些可能性?_Javascript_Html_Performance_Performance Testing - Fatal编程技术网

Javascript 在HTML中加载大表,还有哪些可能性?

Javascript 在HTML中加载大表,还有哪些可能性?,javascript,html,performance,performance-testing,Javascript,Html,Performance,Performance Testing,出于特定目的,我需要一次以表格格式显示数千条记录的信息,而无需将其拆分为较少的记录并浏览页面(如gridview等)。您可以在此处看到此类表格的示例: 然而,问题是加载这样一个表的速度不高。我的问题是如何改进这一点?有哪些其他技术/技术可用于此 任何帮助都将不胜感激 无需将其拆分为较少的记录并浏览页面 为什么不简单地在scroll上创建一个ajax请求,以便在第一次加载页面时只加载可见的记录,而在向下滚动时加载其他记录呢 例如:我总是发现下划线模板在较大的表中执行 模板: <script

出于特定目的,我需要一次以表格格式显示数千条记录的信息,而无需将其拆分为较少的记录并浏览页面(如gridview等)。您可以在此处看到此类表格的示例:

然而,问题是加载这样一个表的速度不高。我的问题是如何改进这一点?有哪些其他技术/技术可用于此

任何帮助都将不胜感激

无需将其拆分为较少的记录并浏览页面

为什么不简单地在scroll上创建一个ajax请求,以便在第一次加载页面时只加载可见的记录,而在向下滚动时加载其他记录呢


例如:

我总是发现下划线模板在较大的表中执行

模板:

<script id="tmpl-students" type="text/template">

    <% for (var i = 0; i < students.length; i++) { %>
      <% var student = students[i]; %>
      <tr>
          <td><%= student.name %></td>
          <td><%= student.docType %></td>
          <td><%= student.field3 %></td>
          <td><%= student.field4 %></td>
      </tr>
    <% } %>
</script>
请看这里:

方法 如果表只是具有相似属性的数据的重复,则可以

  • 使用
    JSON
    发送数据
  • 使用模板系统呈现表格,例如 代码 假设您有以下情况:

    模板 您的
    HandlebarsJS
    模板如下所示:

    <script id="entry-template" type="text/x-handlebars-template">
        <table>
        {{#each myData}}
          <tr>
            {{#each this}}<!-- row's data -->
              <td>{{ this }}</td>
            {{/each}}
          </tr>
        {{/each}}
        </table>
    </script>
    
    
    {{{#每个myData}}
    {{{#每个这个}
    {{this}}
    {{/每个}}
    {{/每个}}
    
    HTML
    
    var mySource=$(“#条目模板”).html();
    var myTpl=handlebar.compile(mySource);
    var myJSON={/*JSON以上*/};
    $(document.body).append(myTpl(myJSON));//将结果插入页面
    
    谢谢您的建议;)
    {
     myData: [
       ['row1', 'data', 'data'],
       ['row2', 'data', 'data'],
       ['row2', 'data', 'data'],
     ]
    }
    
    <script id="entry-template" type="text/x-handlebars-template">
        <table>
        {{#each myData}}
          <tr>
            {{#each this}}<!-- row's data -->
              <td>{{ this }}</td>
            {{/each}}
          </tr>
        {{/each}}
        </table>
    </script>
    
    <head>
        <script>
            var mySource   = $("#entry-template").html();
            var myTpl = Handlebars.compile(mySource);
            var myJSON = {/* JSON above */};
    
            $(document.body).append (myTpl (myJSON)); // insert result to page
        </script>
    </head>
    <body>
        <!-- result should appears here -->
    </body>