懒惰加载聚合物中的巨大json数据

时间:2015-07-21 07:20:04

标签: json polymer lazy-loading

我有一个JSON文件,其中包含大量数据,导致HTML页面在迭代时无法响应。

我正在使用Polymer并迭代模板中的JSON数据。

有没有办法可以使用延迟加载进行迭代,这样我就不必同时加载所有数据了?

以下是该元素的HTML文件。

<polymer-element name="flash-card">
  <template id="k">
    <style>
      flip-card {
        width: 200px;
        height: 200px;
      }
    </style>
    <core-ajax id='ajaxCard'
      url='../api/gre_questions.json'
      on-core-response="{{onResponse}}"
      handleAs='json'></core-ajax>

    <div horizontal layout wrap style="width: 100%">
      <template repeat="{{words in json}}">

        <flip-card axis="y" class="flip-card">

          <front style="background:#232343">
            <div style="overflow:hidden">{{words.word}}</div>
          </front>
          <back>
            <div style="overflow:hidden">
              {{words.meaning}}
            </div>
          </back>
        </flip-card>
      </template>
    </div>
  </template>
  <script>
    Polymer("flash-card",{
      json: null,
      ready: function () {
        this.$.ajaxCard.go();
      },
      onResponse: function (e, detail, sender) {
        this.json = detail.response;
      }
    });
  </script>
</polymer-element>

1 个答案:

答案 0 :(得分:2)

<core-ajax id='ajaxCard' url='../api/gre_questions.json' on-core-response="{{onResponse}}" handleAs='json' ></core-ajax>
<core-list data="{{json}}" style="width:100%; height: 100%">
  <template>
    <div >
      <button></button>
      <core-collapse>
        <div class="collapse-content">
          {{model.word}} : {{model.meaning}}
        </div>
      </core-collapse>
    </div>
  </template>
</core-list>