我目前正在升级旧的IONIC 1应用程序(添加了新功能)。 我已经阅读了很多主题,但是没有找到我的问题的答案。
首先,我的Firebase数据库结构如下:
-产品
--productId
--- imageurl
---价格
---标题
---点赞:0
我想每次用户触发(例如,点击“赞”按钮)时增加“喜欢的孩子”的价值。
我的service.js函数如下所示:
incrementLikeproduct: function(prodId){
return ref.child('products').child(prodId).child('likes').set( xxxx );
},
我试图从firebase中检索likes子对象的当前值作为var并添加+1;但没有任何东西可以正常工作。我基本上不知道如何替换函数中的xxxxx以获得预期的结果。
我的问题是: 我应该如何编写crementingLikeproduct函数来增加firebase中的likes子值? 我已经阅读了有关异步侦听器的信息,但无法弄清楚如何在我的service.js中实现它。
我知道IONIC1已经过时了,但是我已经有了不错的代码,我想向其中添加新功能,而不必从头开始构建整个应用程序。
我对JS非常了解,如果有人可以给我一个提示:-)。
答案 0 :(得分:1)
类似这样的东西
incrementLikeproduct = function(prodId) {
// fetch value first
ref
.child("products/" + prodId + "/likes")
.once("value")
.then(snapshot => {
var oldLikes = snapshot.val();
ref.child("products/" + prodId + "/likes").set(oldLikes + 1);
});
};