Firebase 在AngularFire中使用.numChildren()
我试图在AngularFire中使用Firebase 在AngularFire中使用.numChildren(),firebase,angularfire,Firebase,Angularfire,我试图在AngularFire中使用.numChildren(),但不确定是否正确 function getServiceProviders(serviceId) { var serviceProviders = ref.child('services').child(serviceId).child('providers'); return serviceProviders.numChildren(); } 我得到以下错误: TypeError: e.numChildren is n
.numChildren()
,但不确定是否正确
function getServiceProviders(serviceId) {
var serviceProviders = ref.child('services').child(serviceId).child('providers');
return serviceProviders.numChildren();
}
我得到以下错误:
TypeError: e.numChildren is not a function
不确定这是因为我使用了Browserify,还是我只是试图错误地访问numChildren
function getServiceProviders(serviceId) {
var serviceProviders = ref.child('services').child(serviceId).child('providers');
return serviceProviders.numChildren();
}
感谢您的帮助。提前谢谢 您的代码片段不使用AngularFire,它只使用Firebase JavaScript SDK。尽管您的项目无疑使用了AngularFire,但它与这个问题无关
当您查看时,您将看到它返回一个。如果您进一步研究该类,您应该注意到它没有numChildren
方法
仅在对象上可用,该对象位于(…事件处理程序上的任何
因此:
由于快照将以异步方式加载,因此无法从getServiceProviders
返回子项的数量。请参阅我对这个问题的回答,以获得更广泛的解释:我最初确实将我的getServicesProvider
包装在$firebaseObject
中,这可能就是我将其归档在Angular F下的原因你的方法和var getServicesProvider=$firebaseObject(ref.child('services').child(serviceId).child('providers');getServicesProvider.$loader()。然后(function(){});
?一般来说:“当你在AngularFire中使用$loaded()
时,你可能做错了什么。”。昨天我与Sinan进行了一次很好的讨论:。另外,请再次阅读文档的这一部分,因为它最近被扩展以使异步特性更加清晰:我总是看到Angular Fire API引用$loaded
,因此我使用它的原因,但感谢您。我会记住这一点。