Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase 在AngularFire中使用.numChildren()_Firebase_Angularfire - Fatal编程技术网

Firebase 在AngularFire中使用.numChildren()

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

我试图在AngularFire中使用
.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
,因此我使用它的原因,但感谢您。我会记住这一点。