我有一个简单的 firebase 查询:
<firebase-query
id="query"
app-name="app_name"
path="/users"
data="{{patients}}">
</firebase-query>
是否可以创建一个回调来实时接收用户节点的更新?我读到了观察者,但我不明白如何在我的模块中使用它。
我有一个简单的 firebase 查询:
<firebase-query
id="query"
app-name="app_name"
path="/users"
data="{{patients}}">
</firebase-query>
是否可以创建一个回调来实时接收用户节点的更新?我读到了观察者,但我不明白如何在我的模块中使用它。
默认情况下,使用此查询,来自 /users 的节点会实时更新为数组“患者”。因此您可以立即使用它,而无需编写任何观察者等,例如在 dom-repeat 元素中。当查询中有更多节点时,此元素会更新。无论如何,如果你想观察这个数组的变化(然后修改数据),你需要在属性块中设置一个观察者,如下所示:
static get properties() {
return {
patients: {
// use only one of these types:Boolean | Number | String | Array | Object,
// in your case i think its an Array
type: Array
// For an Array or Object, you must return it from a function
// (otherwise the array will be defined on the prototype
// and not the instance):
value: function() { return [] },
// other elements need to get informed if the value changes? then add this
// line:
notify: true,
// now set the observer
observer: '_patientsChanged',
},
}
}
// and the observer function itself:
_patientsChanged(newVal, oldVal){
// do whatever you want to do e.g. Log the change of the Variable in the
// Console:
console.log('Variable patients changed: It had this value: ');
console.log(oldVal);
console.log('And now it has this Value:');
console.log(newVal);
}
亲切的问候
chwzrlee