我有一个简单的firebase查询:
<firebase-query
id="query"
app-name="app_name"
path="/users"
data="{{patients}}">
</firebase-query>
是否有可能创建一个回调来实时接收用户节点的更新?我读到了关于观察者但我不明白如何在我的模块中使用它。
答案 0 :(得分:1)
默认情况下,使用此查询,/ users中的节点实时更新到数组“patients”。所以你可以立即使用它,而无需写任何观察者等等,例如在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