使用AngularFire的多个数组和嵌套数组

时间:2015-01-24 10:48:00

标签: arrays firebase angularfire

当你只有一个阵列时,一切都很好。

var ref = new Firebase("...");
var sync = $firebase(ref);
var test =  sync.$asArray();

所以我在 test 中有一个数组,我可以使用 $ add,$ save $ remove 进行操作。

但是,如果我想要第二个阵列怎么办?我试过这个:

var ref = new Firebase("...");
var sync = $firebase(ref);
var test =  sync.$asArray();
var test2 =  sync.$asArray();

但是,如果我向 test2 添加内容,它会转到与 test 使用的数据库相同的数据库。我用错了吗?我是否需要为每个阵列创建一个新的Firebase数据库?

是否可以创建动态数量的数组? 是否可以将数组嵌套到数组中?示例:待办事项列表列表。

2 个答案:

答案 0 :(得分:1)

在您的示例中,您在同一个$asArray同步上调用了$firebase两次,因此自然会导致对同一个数组的两次引用。

如果您需要两个单独的数组,则需要为每个数组设置单独的数据引用:

var ref1 = new Firebase("https://yours.firebaseio.com/array1");
var ref2 = new Firebase("https://yours.firebaseio.com/array2");
var sync1 = $firebase(ref1);
var sync2 = $firebase(ref2);
var test =  sync1.$asArray();
var test2 =  sync2.$asArray();

答案 1 :(得分:0)

这不是一件容易的事,但最后我发现了一种简单的方法。请查看here