2017-02-19 6 views
0

問題は、firebaseの角度をどのように設定するかです。私は静的ビューとしてngで動作するビューを持っています。 $の範囲では、このAngular JSにファイアベースを接続する - 可能なjsonの問題

$scope.standardItems = [{ 
    name: "The Name", 
    sizeX: 2, 
    sizeY: 1, 
    row: 0, 
    col: 0 
}, {......etc 

のように定義されていますが、私はfirebaseからデータを試してみて、供給場合、出力が正しくフォーマットされていないので、それはおそらく動作しません。接続はうまくいくように見えますが、データを追加することはできますが、firebaseはそれ自身のIDを追加します。これは、firebaseコンソールからデータをエクスポートする方法です。

{ 
    "-KdJVcYUXMfeym3jPy04" : { 
    "att" : "grid", 
    "col" : 0, 
    "id" : 1487476528646, 
    "name" : "This is a test grid", 
    "row" : 0, 
    "sizeX" : 2, 
    "sizeY" : 1 
}, 

追加パラメータは重要ではありませんが、おそらく入れ子です。私はこの

var todosRef = new Firebase('https://xxxxxxxxxx.firebaseio.com/'); 
$scope.todos = $firebaseArray(todosRef); 
console.log($scope.todos); 

を使用してfirebase配列の入れアウトを記録していると私は角NGリピート

をビューから重要な行使用しているクロムデバッグコンソールここ

Array[0] 
    0:Object 
     $id: "-KjhbuvgtVvFUnbfbmj04" 
     $priority:null 
     att:"grid" 
     col:0 
     id:1487476528646 
     name:"This is a test grid" 
     row:0 
     sizeX:2 
     sizeY:1 
    __proto__ 

でこれを取得します

<li gridster-item row="item.position[0]" col="item.position[1]" size-x="item.size.x" size-y="item.size.y" ng-repeat="item in todos"> 
    //.. 
</li> 

私の質問は、コントローラから上記の静的な例で渡されているものを正確に角度(ビュー)に渡すにはどうすればよいですか?配列からangleに渡されているものを正確に「印刷」する方法 - firebaseコンソールとchromeログコンソールからのエクスポートは完全に同じではありません。すべての親ノードが、-KdJVcYUXMfeym3jPy04のような一意の非シーケンシャルIDであるとは言えません。なぜなら、それらを再度削除する方法や、「グリッド」などの単語の使用方法がわからないからです。パスにワイルドカードが必要ですか?その場合は何ですか?このコードは、静的なローカル配列を使用して動作するので、すべてfirebaseからjsonを読み込むことです。

答えて

0

いいえ、この回答が役に立ちそうです。ここに掲載されたコードに何も問題はありません! Angular jsは変更なしでfirebaseを読み込み、 "--adgadhfe445ggh45" idインデックスを追加しても、chromeコンソールとfirebaseコンソールの出力はここにいるように見えるはずです。私のケースでは、ng-repeatをコントローラから除外し、コントローラが終了したので、構文エラーとなりました。

少なくとも、Firebaseを再フォーマットするコードは必要ありません。