私は約1週間は問題が進行していないので、問題に取り組んできました。私は$scope
に利用できる一連のデータを持っています。AngularJS + Firebase - リモートデータを取得する際にスコープが更新されない
<div ng-repeat="device in myData">
<label>{{processor(device.$id)}}</label>
</div>
データのみFirebase $uid
が含まれています。私はこのようにそれを反復します。そして、私はこの$uid
に関連する情報を取得するためにデータベースに2回目のリクエストを行い、それをラベルの内容として配置したいと考えています。 Firebase $uid
を渡していくつかのデータを返す関数を持つ角度式を使うことができると思いました。
私はこの$scope
関数を宣言:
$scope.processor = function(uid) {
function getDeviceInfo(callback) {
_.child('device/' + uid).once('value', function(snapshot) {
callback(snapshot.val())
})
}
getDeviceInfo(function(data) {
console.log(data)
return data
})
}
は基本的に私は私がルックアップしたいuid
に渡して、私の範囲でprocessor($id)
を呼び出します。関数getDeviceInfo()
が実行され、コールバックがあり、データが返されると、コンソールにログに記録されます。これは完璧に動作し、すべてのデータがそこにあります。しかし、私が試して$scope
に値を返すと、それは更新されません。
私はAngular/AngularFireコードを組み合わせて試してみましたが、何もできませんでした。
お試しください'$ scope。$ apply();'を実行してください。 – Titus
私はすでにこれを試しています: '$ digest already in progress' –
ああ、今見たように、あなたの' processor'関数は何も返しません。 – Titus