![](/img/trans.png)
[英]Ionic React + FIrebase. When updating a data in firebase. Loop items are populated twice
[英]Data not updating in Firebase and Ionic
我是Ionic / Firebase的新手,我嘗試通過表單更新字段。 一切正常,沒有錯誤,所有控制台日志都顯示了所需的內容,但是數據庫中的數據並未更新。
這是我的控制器:
var database = firebase.database();
var userId = firebase.auth().currentUser.uid;
var nameInput = document.querySelector('#name');
var descriptionInput = document.querySelector('#description');
var saveButton = document.querySelector('#save');
saveButton.addEventListener("click", function() {
var name = nameInput.value;
var description = descriptionInput.value;
function writeUserData(name, description) {
firebase.database().ref('accounts/' + userId).set({
name: name,
description: description,
});
}
$state.go("tab.account");
});
任何想法 ? 還是一種更好的方法,可以在用戶登錄時通過表格簡單地更新Firebase的數據庫?
似乎您還真的不知道功能的真正意義/用途,何時使用它
好吧,因為您將其包裝在writeUserData
,並且沒有事件執行/調用此函數
同樣在這種情況下,不需要函數writeUserData
所以刪除功能吧
var database = firebase.database();
var userId = firebase.auth().currentUser.uid;
var nameInput = document.querySelector('#name');
var descriptionInput = document.querySelector('#description');
var saveButton = document.querySelector('#save');
receiveNewData();
function receiveNewData() {
// check if there's new data added
firebase.database().ref('accounts/' + userId).on('child_added', function(msg) {
var data = msg.val();
// your new data
console.log(data);
$state.go("tab.account");
});
}
saveButton.addEventListener("click", function() {
var name = nameInput.value;
var description = descriptionInput.value;
firebase.database().ref('accounts/' + userId).set({
name: name,
description: description,
});
});
您只需轉移$state.go("tab.account");
receiveNewData
已編輯
為了能夠捕捉到更改,只需在'accounts /'+ userId內添加child_added
事件監聽器
function receiveNewData() {
firebase.database().ref('accounts/' + userId).on('child_added', function(msg) {
var data = msg.val();
// your new data
console.log(data);
$state.go("tab.account");
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.