事件IONIC V1之后增加Firebase子值

时间:2019-04-01 16:48:09

标签: javascript

我目前正在升级旧的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非常了解,如果有人可以给我一个提示:-)。

1 个答案:

答案 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);
    });
};