我想突出显示li
是否radio
已选择。内部ng-repeat
,ng-class
true
条件正常,但false
条件不正常,请检查以下代码
<div ng-init="friends = [
{name:'John', age:25, gender:'boy'},
{name:'Jessie', age:30, gender:'girl'},
{name:'Johanna', age:28, gender:'girl'},
{name:'Joy', age:15, gender:'girl'},
{name:'Mary', age:28, gender:'girl'},
{name:'Peter', age:95, gender:'boy'},
{name:'Sebastian', age:50, gender:'boy'},
{name:'Erika', age:27, gender:'girl'},
{name:'Patrick', age:40, gender:'boy'},
{name:'Samantha', age:60, gender:'girl'}
]">
<ul class="example-animate-container">
<li class="animate-repeat" ng-repeat="friend in friends" ng-class="{true:'hightlight',false:''}[radioBox==friend.name]">
<input type="radio" name="friends" ng-model="radioBox" value="{{friend.name}}" />
</li>
</ul>
</div>
这是因为ng-repeat
为每个li
元素创建一个新的子范围,因此每个li
元素radioBox
在其自己的范围中将具有其自己的值。
有关更多详细信息,请阅读谅解范围。
你可以通过具有避免这个问题,.
在您的ng-model
使用,比如model.radioBox
像这样:
<li class="animate-repeat" ng-repeat="friend in friends" ng-class="{true:'hightlight',false:''}[model.radioBox==friend.name]">
<input type="radio" name="friends" ng-model="model.radioBox" value="{{friend.name}}" />
</li>
然后在您的控制器中model
预先进行初始化:
$scope.model = {
radioBox: undefined
};
样例示例: http ://plnkr.co/edit/TcOrxhSzYtN2KCxF2M3g?p=preview
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句