繁体   English   中英

Angular.js-如何使用过滤器检查数组对象中是否包含字符串?

[英]Angular.js - How do I check to see if a string is contained within an array object using a filter?

我正在使用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()函数的方法,但是我发现Angle没有任何可以使用的功能。

有什么建议吗? 谢谢!

用这个:

ng-class="{user_has_upvoted : signedIn() && topic.upvotes[currentUser.username].localeCompare(currentUser.username) === 0}"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM