gpt4 book ai didi

javascript - 在 polymer dom-repeat 中显示 Firebase 数组结果

转载 作者:行者123 更新时间:2023-12-03 06:34:36 26 4
gpt4 key购买 nike

从 Firebase Web SDK 接收数据数组时

您必须首先加载数据。

firebase.database().ref(path).once('value', function(snapshot) {
// assume the data is an array of objects like
// h7weoahfno4bfnuyb4 : {
// data1: 'some data',
// data2: 'some data',
// data3: 'some more data'
// },
// sadfasdfgq4qgq43gf : {
// ...
// }
// and so on

// now, add it to an array
this.set('data', snapshot.val());
});

其中随机字符串是 firebase 给出的随机字符串。

使用 dom-repeat 不会起作用,因为返回的值是 JavaScript 对象。

因此,我使用类似的函数将其转换为数组

_toArray: function(obj) {
return Object.keys(obj).map(function(key) {
return {
name: key,
value: obj[key]
};
});
},

并设置数据如下:

var value = that._toArray(snapshot.val());
this.set('data', value);

我的问题来自于当数据发生变化时,如何将其应用到数组中。例如,如果一个 child 发生变化,我会得到其数据和 key 的快照,这可以用于 this.set('data.'+key, newData);

但是因为它是一个数组,所以我不能这样做。

我想我可以循环检查if(this.data[i].name === newDataUID)但这看起来很困惑。

最佳答案

如果您担心的是困惑的代码,那么您可以使用 lodashfindIndex 方法它在内部使用 while 循环来迭代数组。

关于javascript - 在 polymer dom-repeat 中显示 Firebase 数组结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38286298/

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