Angularjs 我能把电话连到角火上吗?
在我的服务中,我使用angular fire对firebase进行了函数调用:Angularjs 我能把电话连到角火上吗?,angularjs,angularfire,Angularjs,Angularfire,在我的服务中,我使用angular fire对firebase进行了函数调用: filter : function(limit){ return $firebase(ref.child('stats').limit(limit)).$asArray(); }, 这很好,但如果我尝试添加orderByChild: filter : function(limit){ return $firebase(ref.child('stats').limit(limit).orderByCh
filter : function(limit){
return $firebase(ref.child('stats').limit(limit)).$asArray();
},
这很好,但如果我尝试添加orderByChild:
filter : function(limit){
return $firebase(ref.child('stats').limit(limit).orderByChild('host')).$asArray();
},
我得到错误:TypeError:undefined不是一个函数
如何将这些调用链接在一起,以便按主机限制结果和顺序?看起来有两个问题:
.limit()
已弃用。查看更多详细信息.limit()
和.orderByChild()
都返回一个新的查询对象),但我感觉这里有一个排序问题,.limit()
可能返回一些无法访问新(er)方法的内容(如.orderByChild()
)
filter: function(limit) {
var query = ref.child('stats').orderByChild('host').limitToFirst(limit);
return $firebase(query).$asArray();
},
我建议将它分成几个较小的语句,这样您就可以看到每个语句的结果。另外,如果您只执行
orderByChild('host')
,而不执行limit()
,那么它是否有效?您是否收到消息抱怨limit()
被弃用?请将orderByChild(…)放在limit()之前,放在前面语句,如文档中所示。另外,建议是limitToFirst()
或limitToLast()
(limit()已被弃用)。请参阅此处,并在此处省去一些麻烦。