2017-04-08 55 views
1

我有一个连接到firebaseArray的ng-repeat,它是用户doc doc的索引。 我想显示他们的文档列表以及每个文档的附加信息,例如它的标题和描述。AngularFire - 为firebaseArray ng-repeat中的每个项目获取firebaseObject

我的火力结构为:

+users 
    - userId1 
    -theirDocs 
     -docId1: true 
     -docId2: true 

+docs 
    -docId1 
     - tile 
     - description 
     - url 
    -docId2 
    - etc etc 

我已经竭尽所能,但仍无法得到这个工作,这似乎是一个很常见的情况。我试过每次都使用一个调用firebaseObject的函数。我试过使用单独的控制器。我试过一个指令,我甚至尝试过使用firebase.utils库(我认为现在已经过时)。

任何人都可以推荐使用AngularFire做到这一点的最佳方式?提前致谢!

回答

0

因为很难确定问题出在哪里,所以最好能够看到代码片段,以便完全理解您首先尝试过的内容。话虽如此,只要你的规则不妨碍这一点,你可能需要等待数据下载使用$加载函数事先。

这个例子是按照这个link清楚地可用,但在这里是为了更清楚的例子:

var yourFirebaseReference = firebase.database().ref("REPLACE WITH YOUR FIREBASE BRANCH HERE"); 
var data = $firebaseArray(yourFirebaseReference); 
data.$loaded().then(function(x) { 
    console.log(data) // Example, you can do what you want with your 'data' now as the data has loaded 
    x === data; // true 
}).catch(function(error) { 
    console.log("Error:", error); 
}); 
+0

感谢我现在就添加它。真的很想理解什么是最好的做法,这是与angularfire做到这一点,虽然解决这种类型的查询 –

+0

提供$加载功能解决您的问题,这是由于等待dàta加载的时间延迟服务器。希望这有助于解决您的问题,如果有的话请接受答案。 –

+0

是的,它修复了它!非常感谢!我只是做了一个操作控制器来用于列表项目,然后确保使用$ loaded然后将其应用到作用域变量,并且它完美地工作!此外,我在这里是新的,不知道如何接受答案... –

相关问题