我的问题类似于以下帖子之一:How to use ng-class in select with ng-options
我希望能够使用CSS自定义select
中的特定选项。如果我恢复使用的例子,我有一个像这样的人:
var persons = [
{Name:'John',Eligible:true},
{Name:'Mark',Eligible:true},
{Name:'Sam',Eligible:false},
{Name:'Edward',Eligible:false},
{Name:'Michael',Eligible:true}
];
现在我希望能够编写如下代码,以便将不同的人展示给另一个不符合要求的人:
<select ng-model="Blah" ng-options="person.Name for person in persons" ng-class="{'is-elligible': person.Elligible}"></select>
但是在此代码中,我无法访问person
代码中的ng-class
变量。
事情是在另一篇文章中,解决方案是基于cutom指令,它在1.4之前的角度很好。现在这个解决方案已经不再适用了。
可能的解决方案也不是使用ng-options
,而是在ng-repeat
标记中使用option
。但我仍然希望使用ng-options
,因为它似乎更快更容易使用。
因此,如果任何人有角度1.4及更高版本的任何解决方案,那么分享它会很棒! :)
提前致谢
答案 0 :(得分:1)
你不能用普通ng-options
来做。
您应该使用ng-repeat
或custom
指令来实现所需的行为。如果您描述的情况如此简单,我建议您使用ng-repeat
作为实现该行为的常用方法。
考虑深入了解已有的答案: Customize ng-options selection look它会回答你的问题。
p.s。没有注意到使用ng-repeat
,因为在特殊情况下,使用已存在的指令比创建新指令和向其添加单元测试更容易
我知道ng-repeat
比较慢......