使用 firebase-query 按 polymerfire 中的键 desc 排序

Sort by key desc in polymerfire with firebase-query

我正在使用 firebase 和 polymer 构建一个应用程序,并且我有一个使用 firebase-query 元素获得的数据。我想重新排序数据,以便它首先显示新数据,所以我想我可以使用模板标签上的排序属性按降序键对它进行排序,但它没有按预期工作。

     <firebase-query
  id="questionQuery"
  path="/questions"
  limit-to-last="15"
  data="{{questions}}">
</firebase-query>

模板看起来像这样的方法:

        <template is="dom-repeat" items="[[questions]]" sort="_computeSort" as="question"><p>[[question.body]]</p></template>

在我的元素定义中,我有这个:

  _computeSort: function(a, b) {
    console.log(a.__firebaseKey__);
    if (a.__firebaseKey__ == b.__firebaseKey__) {
      return 0;
    }
    return a.__firebaseKey__ > b.__firebaseKey__ ? -1 : 1;
  },

这是行不通的。输出到控制台的日志只是一堆未定义,所以问题应该在那里,但是我如何访问每个问题的密钥?

好的,我得到一个答案

$key是访问firebase生成的key的表达式,所以把排序函数改成这样就可以了:

    _computeSort: function(a, b) {
    if (a.$key == b.$key) {
      return 0;
    }
    return a.$key > b.$key ? -1 : 1;
  },

实际上我刚刚从这里复制了代码 这就是我最终得到像 _firebasekey__.

这样的代码的方式