gpt4 book ai didi

javascript - ionic 1 与 Firebase 3 从快照获取 key ?

转载 作者:行者123 更新时间:2023-11-28 05:23:46 25 4
gpt4 key购买 nike

firebase.database().ref('users/' + user.uid + '/cars')

.on('value', function(snapshot) {
$scope.cars = snapshot.val();
console.log('snapshot', JSON.stringify(snapshot.val()));
});

我可以提取所需的所有数据,但 Firebase 设置的键值 ( -KVChuDgmbogzH2bKm1A ) 除外。它正在被记录到控制台。但我无法显示它。我尝试过 cars.key, key, $id, cars.$id

<div ng-repeat="car in cars">     

<p>item key: {{car.key}}</p> <- this I can't get
<h2>{{car.color}}</h2><- this is fine
<p>{{car.motor}}</p><- this is fine

如有任何建议,我们将不胜感激。

最佳答案

来自 Firebase 的数据正在异步加载。当数据加载时,Angular 还没有准备好。

所以你需要告诉 AngularJS 它需要更新 HTML。最简单的方法是将范围的更新包装在 $timeout() 调用中:

firebase.database().ref('users/' + user.uid + '/cars')    
.on('value', function(snapshot) { $timeout() {
$scope.cars = snapshot.val();
console.log('snapshot', JSON.stringify(snapshot.val()));
})});

更新

您似乎正在寻找每个快照的key

<div ng-repeat="(key, car) in cars">     

<p>item key: {{key}}</p> <- this I can't get
<h2>{{car.color}}</h2><- this is fine
<p>{{car.motor}}</p><- this is fine

此时我建议改用 AngularFire,它可以为您解决很多问题。

关于javascript - ionic 1 与 Firebase 3 从快照获取 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40325626/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com