我正在使用Angular和Firebase创建一个应用,允许用户发布新主题以供讨论,并对现有主题进行投票。
当用户登录时,他们的用户名存储在currentUser.username
中。如果他们提出了一个主题,那么他们的用户名也会出现在topic.upvotes
。
我遇到的问题是topic.upvotes存储一组值。因此,如果Kenneth和Tyler都赞成了一个话题topic.upvotes = {"Kenneth":"Kenneth","Tyler":"Tyler"}
。
我需要知道的是,如果某个用户已经对某个主题进行了投票,那么我可以应用一些条件CSS来为他们提供他们已经就该主题投票的视觉反馈。
我一直试图通过以下方式实现这一目标:
ng-class="{user_has_upvoted : signedIn() && topic.upvotes === currentUser.username}"
我的意图是,只有当用户都已登录并且他们实际上对该主题进行了投票时,才将user_has_upvoted
类应用于div。
但显然topic.upvotes(一个数组)不是==或=== currentUser.username(一个字符串)。
我希望有一些方法可以使用某种inArry()函数,但angular没有任何我发现可以工作的东西。
有什么建议吗?谢谢!
答案 0 :(得分:1)
使用它:
ng-class="{user_has_upvoted : signedIn() && topic.upvotes[currentUser.username].localeCompare(currentUser.username) === 0}"