javascript - 将 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:我是编程和编码的新手。
解决方案
您不能将条件代码组合成这样的 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);
}
所以我们现在采取三个步骤:
- 我们构建
value
要写入数据库的初始值。 - 我们根据用户点击的内容做一个条件
- 更新 HTML
- 将属性添加到
value
步骤 1。
- 我们将值写入数据库。
推荐阅读
- go - 访问 net/http 标头的 HeaderOrderKey
- python - 为python中由groupby标识的每个组分配一个时间索引
- flutter - 连接服务协议时出错:连接http失败
- javascript - iframe 到父框架通信
- unity3d - Azure 空间锚点入门:CreateAzureAnchor() 崩溃或需要很长时间才能加载
- ansible - 如何使用当前日期的库存文件运行 ansible playbook
- django - 为什么 get_current_site(request) Django 不返回端口号?
- kubernetes - kubectl config get-contexts 和 custom-columns 输出
- asp.net - ASP>NET with Oracle + Common Language Runtime 检测到无效程序
- xcode - XCode 资产目录图像 - 调整大小?