我正在使用Firebase开发聊天应用程序。在我的聊天应用程序中,我聊天了Inbox。我需要根据时间戳对收件箱聊天进行排序。
要从Firebase加载对象,我使用以下代码:
var chatwith = new Firebase(firbaseUrl+'/chatInbox/'+$scope.userId);
var list = $firebaseArray(chatwith);
list.$loaded().then(function() {
$scope.dataList = list;
$scope.dataLength = $scope.dataList.length;
if (!$scope.$$phase) $scope.$apply();
});
我需要根据时间戳对$scope.dataList
对象进行排序。有可能吗?
请建议
答案 0 :(得分:0)
回答你的问题
我需要根据时间戳对$ scope.dataList对象进行排序。有可能吗?
是的,可以,你可以像这样使用orderByChild
var chatwith = new Firebase(firbaseUrl+'/chatInbox/'+$scope.userId);
chatwith = chatwith.orderByChild('NAME_OF_THE_FIELD_TIMESTAMP');
var list = $firebaseArray(chatwith);
list.$loaded().then(function() {
$scope.dataList = list;
$scope.dataLength = $scope.dataList.length;
if (!$scope.$$phase) $scope.$apply();
});
不要忘记在这样的生产中定义数据索引
{
"rules": {
"chatInbox": {
".indexOn": ["NAME_OF_THE_FIELD_TIMESTAMP", "OTHER_FIELD"]
}
}
}