Polymer Dart - 当使用加载微调器的数据填充core-list-dart时,如何阅读?

时间:2015-06-12 16:48:02

标签: list dart polymer core

飞镖和聚合物飞镖。

我在我的程序中使用了许多core-list-dart列表,这些列表在页面更改后填充数据(使用核心页面)。我发现尽管core-list-dart的填充速度比使用<template repeat="...>要快得多,但在切换到新页面时,它仍会导致几秒钟的延迟(如果有足够的数据,最多可达8秒)。 / p>

精细。我知道我使用的是聚合物的beta版本(因此也就是Polymer Dart),事情会变慢。因此,为了最终用户的理智,我想在更改页面时建立一个加载微调器。我可以使用期货来检查填充正在使用的List的数据,但这不是延迟真正发生的地方。 List填充了数据并且微调器消失了,然后延迟启动,而core-list-dart花费了它的甜蜜时间,显然是循环遍历列表或其他东西。

我怎么能(或者我甚至可以)处理保持加载指示(在我的情况下是一个微调器 - 特别是纸张旋转器)直到具有core-list-dart的数据到位并准备好显示。

以下是html代码的具体示例:

<core-list-dart id="list1" class="{{listclass}}" data="{{tierOne}}" grid="true" width="150">
  <template>
    <div index="{{index}}" class="{{ {'strike': model.cleared} }} ringcontainer">
      <img _src="../../../web/images/rings/thumbnails/{{model.image}}" class="{{ {'strike': model.cleared} }} ringimagethumb" data-sku="{{model.SKU}}" data-finish="{{model.finish}}" on-click="{{zoomRing}}"/>
      <core-selector theme="core-light-theme" on-core-select="{{removeRing}}" multi>
        <core-item icon="{{model.icon}}" data-sku="{{model.SKU}}" data-finish="{{model.finish}}" class="{{ {'strike': model.cleared} }} ringdata">{{model.added}}</core-item>
      </core-selector>
      <div index="{{index}}" class="{{ {'strike': model.cleared} }} ringdata">Category: {{model.category}}</div>
      <div index="{{index}}" class="{{ {'strike': model.cleared} }} ringdata">SKU: {{model.SKU}}</div>
      <div index="{{index}}" class="{{ {'strike': model.cleared} }} ringdata">Finish: {{model.finish}}</div>
      <div index="{{index}}" class="{{ {'strike': model.cleared} }} ringdata">${{model.price}}</div>
      <div index="{{index}}" class="{{ {'strike': model.cleared} }} ringdata">(tier{{model.tier}}-id{{model.id}})</div>
    </div>
  </template>
</core-list-dart>

这都在核心页面标记内,当所选页面更改为该部分时,这是填充列表的代码(初始化为@observable List tierOne = toObservable([]);)Ring显然是我使用过的自定义类和tierData是包含所有数据的Rings列表。

tierOne = tierData.where((Ring element) => element.tier == 1).toList();

这一切都很棒。但它 - 特别是在平板电脑上运行应用程序在现场使用时。

当然我只是假设延迟是使用core-list-dart - 因为核心页面交换速度非常快。否则。

由于

1 个答案:

答案 0 :(得分:0)

我没有尝试使用core-list-dart,但通常你会使用SELECT SUM(`SPEND_AMOUNT`) AS 'Total Spend Amount', SUM(`SPEND_AMOUNT`) / COUNT(DISTINCT `INVOICENUMBER`) AS 'Average Spend Amount' FROM `TABLE` 类进行此操作。

https://www.polymer-project.org/0.5/docs/polymer/styling.html#fouc-prevention

类似(未经测试):

unresolved