2017-05-22 16 views
1

非常に単純なようです。しかし、私はそれをすることはできません。 コントローラ内のFirebase DBの値を取得したいだけです。 がFirebaseデータベースはこのようなものです:反復が正常に動作するHTMLコードのngRepeatでFirebaseとAngularJS、firebaseArrayから値を取得する方法

app.controller('usersCtrl', function($scope, $firebaseArray) { 
    var ref = firebase.database().ref('users'); 
    $scope.userdata = $firebaseArray(ref); 
}); 

:私のコントローラで

users { 
    30549545 { 
     name: "Marcelo" 
     lastName: "Forclaz" 
     years: 24 
    } 
} 

私は、次のコードを書きました。しかし、私は別のコマンドにそれを使用するために私のコントローラーで "年"の値を取得する必要があります。どうすればいいですか?私はいくつかのディフェレントの方法を試しましたが、私は望んだ結果を得ていませんでした。 Firebaseの幅AngularJSからデータを取得することは、幅を単純で純粋なJavaScriptにするよりも簡単ではないことに気付きました。

答えて

1

は最後に、私はそれを持っています!

$scope.userdata.$ref().once('value', function(snap) { 
    angular.forEach(snap.val(), function(index)) { 
     console.log(index.years) 
    } 
} 
1

あなたはユーザデータがロードされるまで待たなければならない:

app.controller('usersCtrl', function($scope, $firebaseArray) { 
var ref = firebase.database().ref('users'); 
$scope.userdata = $firebaseArray(ref); 
$scope.userdata.$loaded() 
    .then(function(){ 
     console.log($scope.userdata); 
    }); 
}); 
+0

しかし、今、どのように "年"の価値を得るのですか?私はあなたのコードを書いて、コンソールログは参照データでオブジェクト全体を返します。私は彼の年の値が必要です。私はconsole.log($ scope.data.years)を試しましたが、未定義です。 –

関連する問題