在带有火基的离子 2 中实现类似/不同功能



我正在尝试在 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);
  }
});
}

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

您可以使用 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}))
}

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

相关内容

  • 没有找到相关文章