【问题标题】:Implement like/unlike function in ionic 2 with firebase使用firebase在ionic 2中实现like/unlike函数
【发布时间】:2017-08-07 22:01:27
【问题描述】:

我正在尝试在 ionic 2 中实现用户喜欢/不喜欢的功能。这个想法只是单击喜欢按钮来切换喜欢/不喜欢状态。

likeItem(itemId) {
let objRef = this.af.database.object('userItemCollection/'+this.userId+'/items/'+itemId);
objRef.subscribe(snapshot => {
  if(snapshot.$value) {
    objRef.remove();
  } else {
    objRef.set(true);
  }
});
}

但是,一旦我点击了like按钮并触发了该功能,我可以在Firebase控制台中看到它向数据库中添加了许多记录。我不确定我哪里出错了。

【问题讨论】:

  • 你好威廉。我的回答对您有帮助吗?还是您需要更多信息?
  • 是的,它有效,感谢您的帮助。我以前使用过一种解决方法(单击以增加点赞数,并检查 count % 2 == 0 是否模拟布尔运算),您的解决方案更合适并符合我的原始目的。谢谢

标签: javascript firebase firebase-realtime-database ionic2 angularfire2


【解决方案1】:

你可以通过使用 Observable take 方法来做到这一点::

import {Observable} from 'rxjs/Rx';
import 'rxjs/add/operator/take'

likeItem(itemId) {
    let objRef = this.af.database.object('/item/itemId', { preserveSnapshot: true })
    objRef.take(1)
    .subscribe(snapshot => objRef.set({like: !snapshot.val().like}))
}

我希望这能解决你的问题:)

【讨论】:

    猜你喜欢
    • 2017-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 2017-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多