【发布时间】:2019-10-26 12:25:25
【问题描述】:
我正在开发一个管理面板来获取用户关于食品订单的请求,所以我想在有新订单时收到通知。所以问题是有什么方法可以观察数据库的变化,如果有,请发出通知(Snackbar)
【问题讨论】:
标签: node.js firebase vue.js vuefire
我正在开发一个管理面板来获取用户关于食品订单的请求,所以我想在有新订单时收到通知。所以问题是有什么方法可以观察数据库的变化,如果有,请发出通知(Snackbar)
【问题讨论】:
标签: node.js firebase vue.js vuefire
您可以通过 value 事件监听变化。 阅读更多详情:https://firebase.google.com/docs/database/web/read-and-write#listen_for_value_events
【讨论】:
一旦数据库更新,valueeventlistner 将再次带来所有节点。要仅带上最后添加的节点,请使用下面。
Firebase ref = new Firebase("YOUR-URL-HERE/PATH/TO/YOUR/STUFF");
ref.addChildEventListener(new ChildEventListener() {
public void onChildAdded(DataSnapshot dataSnapshot, String previousKey) {
}
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
public void onCancelled(FirebaseError firebaseError) { }
});
onChildAdded() 将仅针对每个新的食品订单被撤销。您也可以使用其他方法,这将为您提供良好的灵活性。即使订单被移除,您也可以通过 onChildRemoved() 获取它。
【讨论】: