gpt4 book ai didi

javascript - Polymer:firebase-collection 始终返回空数组

转载 作者:行者123 更新时间:2023-12-03 08:24:48 26 4
gpt4 key购买 nike

我尝试使用firebase-collection ,但无论我尝试什么,我总是收到一个空数组(在 firebase 中我有几个条目)

<dom-module id="bar-foo">
<template>
<firebase-collection
id="barFoo"
location="https://bar-foo.firebaseio.com/items"
data="{{items}}"></firebase-collection>
<firebase-document location="https://bar-foo.firebaseio.com/item"
data="{{item}}"></firebase-document>
</template>
<script>
class BarFoo {
beforeRegister() {
this.is = 'bar-foo';

this.properties = {
items: {
notify: true,
observer: 'updated',
type: Array
}
}
}

updated(newList) {
// newList === this.items === []
...
}
}
Polymer(BarFoo);
</script>
</dom-module>

firebase-document 元素有效!为什么我收到空列表有什么建议吗?

此外,当我手动将新项目添加到 firebase-collection 时,我会在控制台中看到以下内容

this.$.barfoo.add('aaaa')
firebase-query-behavior.html:182 Adding new item to collection with value: aaaa
firebase-query-behavior.html:182 Firebase Event: "child_added" aaaa null
U {k: Yh, path: L, n: ae, lc: false}

Firebase 中没有任何反应:(

最佳答案

不要使用观察者。当我玩弄时,我发现观察者只触发一次:第一次加载时。我无法告诉你原因。

幸运的是,firebase-collection 在数据更改时会触发事件:https://github.com/GoogleWebComponents/firebase-element/issues/86

添加事件监听器而不是属性观察器:

this.listeners = {
'barFoo.firebase-value': 'updated'
}

PolymerLabs 的这个示例使用事件监听器而不是观察器: https://github.com/PolymerLabs/todo-list/blob/master/app/elements/todo-data/todo-data.html

希望这会有所帮助,我将继续寻找有关 firebase-collection 的观察者行为的一些解释。

关于javascript - Polymer:firebase-collection 始终返回空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33599415/

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