问题
使用angularfire2增加值的最佳方法是什么?
我看到我们可以使用[transaction()] []但实际上并不适用于angularfire2.
还是快照?
user.service.ts
incrementLike(userToIncrementLike){ this.af.database.object('users/' + userToIncrementLike.uid).subscribe((userObject) => { var newUser = { likes: userObject.likes + 1 }; }); this.af.database.object('users/' + userToIncrementLike.uid).update(newUser); }
我也试过这种方式:
incrementLike(userToIncrementLike){ let obs = this.af.database.object('users/' + userToIncrementLike.uid); obs.subscribe((snapshot) => { let newValue = (snapshot.$value) ? (snapshot.$value + 1) : 1; obs.set(newValue); }); }
非常感谢您的帮助和提示:)
路易斯.
如果您愿意,也可以在路径中使用模板文字. :)(注意反引号而不是单引号.)
incrementLike(userToIncrementLike){ this.af.database.object(`users/${userToIncrementLike.uid}/likes`).$ref .ref.transaction(likes => { if (likes === null) { return likes = 1; } else { return likes + 1; } }) }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。