我正在使用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;
},
这不起作用。日志到控制台的输出只是一堆未完成的,所以问题应该存在,但我怎样才能访问每个问题的密钥?
答案 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 __这样的代码。