首页 > 解决方案 > 将 Javascript 的 if...elseif 语句与 Firebase 链接

问题描述

当我输入收入金额时,我希望收入(数据库)将 amtV 值存储在 Firebase 数据库中。我相信 if 和 elseif 语句是可能的,因为它仅在读取值时起作用,但不知何故,它不起作用,而我想指示数量应该在数据库中的哪个位置我希望我能弄清楚我的问题。

//Insert//
document.getElementById('insert').onclick=function(){
    Ready1();
    firebase.database().ref('Budget/'+dateV1).set({
        Date:dateV1,
        Description:descV,
        if(type ==='inc')
        {
            classSelect=DOMStrings.classSelectInc;
            classSelect = DOMstrings.classSelectInc;
            newHtml = '<div class="item clearfix" id="inc-%id%"><div class="item__description">%description%</div><div class="right clearfix"><div class="item__value">%value%</div><div class="item__delete"><button class="item__delete--btn"><i class="ion-ios-close-outline"></i></button></div></div></div>'
            Income:amtV,
        }
        elseif(type=== 'exp'){
            classSelect=DOMStrings.classSelectExp;
            newHtml = '<div class="item clearfix" id="exp-%id%"><div class="item__description">%description%</div><div class="right clearfix"><div class="item__value">%value%</div><div class="item__percentage">21%</div><div class="item__delete"><button class="item__delete--btn"><i class="ion-ios-close-outline"></i></button></div></div></div>'
            Expense:amtV,
        },
        
            });
}

PS:我是编程和编码的新手。

标签: javascriptfirebasefirebase-realtime-database

解决方案


您不能将条件代码组合成这样的 JSON 对象。

但是如果你拆分它们,你可以完成同样的事情:

document.getElementById('insert').onclick=function(){
    Ready1();
    let value = {
        Date:dateV1,
        Description:descV
    };
    if(type ==='inc')
    {
        classSelect=DOMStrings.classSelectInc;
        classSelect = DOMstrings.classSelectInc;
        newHtml = '<div class="item clearfix" id="inc-%id%"><div class="item__description">%description%</div><div class="right clearfix"><div class="item__value">%value%</div><div class="item__delete"><button class="item__delete--btn"><i class="ion-ios-close-outline"></i></button></div></div></div>'
        value.Income = amtV;
    }
    elseif(type=== 'exp'){
        classSelect=DOMStrings.classSelectExp;
        newHtml = '<div class="item clearfix" id="exp-%id%"><div class="item__description">%description%</div><div class="right clearfix"><div class="item__value">%value%</div><div class="item__percentage">21%</div><div class="item__delete"><button class="item__delete--btn"><i class="ion-ios-close-outline"></i></button></div></div></div>'
        value.Expense = amtV;
    },
    firebase.database().ref('Budget/'+dateV1).set(value);
}

所以我们现在采取三个步骤:

  1. 我们构建value要写入数据库的初始值。
  2. 我们根据用户点击的内容做一个条件
    1. 更新 HTML
    2. 将属性添加到value步骤 1。
  3. 我们将值写入数据库。

推荐阅读