Polymer 2.x + Firebase:如何反转 iron-list 的顺序?

Polymer 2.x + Firebase: How to reverse order of iron-list?

我想以 how/when 输入的时间倒序显示我的数据。换句话说,我希望最新的条目出现在顶部。

我正在使用 Polymerfire <firebase-query> 从我的 Firebase/Polymer 应用程序中获取数据,并且我正在使用 <iron-list> 来显示数据。目前,该列表的底部是最新的条目。

我希望颠倒 <firebase-query><iron-list> 中的顺序应该会产生所需的行为。我更喜欢在不使用 items.reverse() 方法的情况下完成此操作。 iron-list 或 Polymerfire 是否有任何原生的属性或方法来完成所需的行为?

<firebase-query
    id="query"
    app-name="notes"
    path="/notes/[[uid]]"
    data="{{items}}">
</firebase-query>

<iron-list items="[[items]]">
  <template>
    <div>
      [[item.name]]
    </div>
  </template>
</iron-list>

<script>
Polymer({
  properties: {
    uid: String,
    items: {
      type: Object,
      observer: 'itemsChanged'
    }
  },

  itemsChanged: function (newItems, oldItems) {
    // do something when the query returns values
  }
});
</script>

据我所知(并且可以快速检查 PolymerFire source code for its query component)库中没有内置任何用于从数据库中反转项目的内容。

剩下的选项是向您的数据库节点添加一个额外的 属性,其中包含您要排序的 属性 的倒置值。所以在你的情况下,这可能是一个倒置的时间戳:-1 * Date.now()。如果您随后对这个倒置的值进行排序,结果将按原始时间戳的降序显示。