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

时间:2017-05-18 12:38:54

标签: sorting firebase firebase-realtime-database polymer-1.0 polymerfire

我正在使用firebase和聚合物来构建应用程序,我有一个使用firebase-query元素获得的数据。我想重新排序数据,以便它首先显示新数据,所以我想我可以使用模板标记上的sort属性按键降序排序,但它没有按预期工作。< / p>

     <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;
  },

这不起作用。日志到控制台的输出只是一堆未完成的,所以问题应该存在,但我怎样才能访问每个问题的密钥?

1 个答案:

答案 0 :(得分:0)

好的,我得到了一个anser

$ key是访问firebase生成的密钥的表达式,所以只需将排序函数更改为:

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

我实际上刚从这里复制了代码Polymer 1.0: Sorting dom-repeat,这就是我最终得到像_firebasekey __这样的代码。