簡體   English   中英

Firebase和Ionic中的數據未更新

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM