使用 firebase 在 ionic 2 中实现 like/unlike 函数
Implement like/unlike function in ionic 2 with firebase
我正在尝试在 ionic 2 中实现用户 like/unlike 功能。我的想法是简单地单击喜欢按钮来切换 like/unlike 状态。
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}))
}
希望这能解决您的问题:)
我正在尝试在 ionic 2 中实现用户 like/unlike 功能。我的想法是简单地单击喜欢按钮来切换 like/unlike 状态。
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}))
}
希望这能解决您的问题:)