我一直在解決這個問題大約一週,現在沒有任何進展。我有一系列可用於我的$scope
的數據。我這樣迭代:AngularJS + Firebase - 獲取遠程數據時不會更新
<div ng-repeat="device in myData">
<label>{{processor(device.$id)}}</label>
</div>
該數據僅包含Firebase $uid
。我想向數據庫發出第二次請求,以獲取與$uid
相關的信息,並將其作爲標籤的內容。我想我可以使用帶有函數的角度表達式來傳入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
})
}
基本上我打電話processor($id)
在我的範圍,傳遞uid
我想查找。函數getDeviceInfo()
運行並有回調,當數據返回時,我將其記錄到控制檯,這是完美的,所有的數據都在那裏。但是當我嘗試將值返回給$scope
時,它不會更新。
我已經嘗試了可用的Angular/AngularFire代碼的每個組合,並沒有得到任何工作,任何想法?
嘗試cal l'$ scope。$ apply();'改變'$ scope'後。 – Titus
我已經試過了,我得到了:'$ digest已經在進行中了' –
哦,現在我明白了,你的'processor'函數不會返回任何東西。 – Titus