【发布时间】:2014-08-08 21:03:25
【问题描述】:
我尝试找出根据角度值添加类的良好语法。 我想用 OR 运算符激活一个关于 2 个条件的类(一个关于实时用户更改,一个关于加载数据)。
这是行:
<a href="" ng-click="addFavorite(myfav.id);favorite=!favorite">
<i class="fa orange" ng-class="{'fa-star': (favorite || (fav==myfav.id)), 'fa-star-o': !favorite}"></i>
</a>
我尝试了一些不同的代码,例如:
ng-class="{'fa-star': favorite, 'fa-star': (fav==myfav.id), 'fa-star-o': !favorite}"
没有任何成功。 有人可以帮我找到好的语法吗?
【问题讨论】:
-
应该是
{'fa-star': favorite || fav == myfav.id, 'fa-star-o': !favorite}。请参阅此plunkr 中的类似示例。我尝试用ng-class="{'has-error': ctrl.submitted && 1 == 1}替换该代码,它可以工作。 -
Parens 应该也能正常工作。如果我更改您的 Plunkr 代码并将它们添加到您的 AND 表达式中,一切仍然有效。我想 OP 的代码还有其他问题。
-
是的,这是我的第一个代码,但它似乎不适用于该类。我在外面测试了
fav == myfav.id,它应该返回“true”。 -
哦。是否与逻辑有关:如果
!favorite但fav==myfav.id结果将是fa-starfa-star-o然后最后一个应用并且视觉上不会更改图标。所以我不确定我的“开关”在这种情况下是否有效
标签: angularjs conditional ng-class