使用 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__.
这样的代码的方式
我正在使用 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;
},
实际上我刚刚从这里复制了代码