データ オブジェクトを取得するために暗黙的な方法を使用しました。
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 のデータ バインディングによって明らかに上書きされます。 s が異なるsegment
ので、明示的なメソッドに戻り、さまざまな firebase がデータバインディングと相互の上書きではなく、データをサイトに送信するだけになるようにしました。
var rawData = angularFireCollection(url+segment);
そして、そもそもなぜ暗黙的を選択したのかを発見しました。typeof には引数があり、文字列、配列、オブジェクトなどを呼び出しているかどうかを firebase に伝えることができました。angularfire.js と引数が指定されていない場合は、デフォルトで配列として識別するようにフォールバックすることがわかりました。
さて、私は間違いなく明示的な方法に移行するつもりです (つまり、angular2.0 に救済がない場合)。配列のみのポリシーに適合するように私の firebase json を再構築することは、それほど大きな問題ではありませんが、確かにオブジェクトを明示的に呼び出すオプション、または何か不足していますか?