我使用隐式方法来检索数据对象:
setData = function(segment){
var url = 'https://myFireBase.firebaseio.com/';
var rawData = angularFire(url+segment,$rootScope,'data',{});
rawData.then(function(data){
// sorting and adjusting data, and then broadcasting and/or assinging
}
}
此代码位于从不同位置调用的服务中,到开发阶段它可能在 100 - 150 左右,所以我离开控制器并进入服务,但现在 firebase 数据绑定显然会覆盖不同segment
的 s 所以我转回显式方法,让不同的 firebase 只将数据发送到站点,而不是数据绑定和相互覆盖:
var rawData = angularFireCollection(url+segment);
就在那里,我发现了为什么我首先选择隐式:typeof 有一个参数,如果我正在调用字符串、数组、对象等,我可以告诉 firebase。我什至查看了 angularfire.js 和看到如果没有给出参数,如果默认情况下将其标识为数组。
现在,我肯定会转向显式方法(也就是说,如果 angular2.0 没有拯救),并且重建我的 firebase json 以适应仅数组策略并不是什么大不了的事,但肯定有显式调用对象的选项,还是我遗漏了什么?