我在此列表中尝试将class设置为clicked列表项(但应该仅为clicked项设置class)。
我试图通过这种方式来做,但是没有运气:
<a href=""
ng-ctrl="ThemesCtrl"
ng-click="checkThemeContent(theme);"
ng-repeat="theme in themes"
ng-hide="theme[filterProp] !== filterValue"
class="list-group-item">
<b>{{theme.name}}</b>
<span class="themesListIcons">
<i class="fa fa-check-square-o"></i> {{theme.avg_score}}
<i class="fa fa-comment-o"></i> {{theme.count_of_cards}}
</span>
</a>
我该如何以正确的方式做到这一点?
谢谢你的帮助。
伟大的。对不起,因为我还没有花钱,所以我必须从理论上向你解释。
乔治,您必须在控制器中创建用于选择项目的函数,例如,在您的情况下:
$scope.checkThemeContent = function (name) {
$scope.selectedName = name;
}
完成此步骤后,您必须仅在HTML中调用此函数,如下所示:
<a href=""
ng-class="{selected:theme.name==selectedName}"
ng-click="checkThemeContent(theme.name)"
ng-repeat="theme in themes"
class="list-group-item">
<b>{{theme.name}}</b>
<span class="themesListIcons">
<i class="fa fa-check-square-o"></i> {{theme.avg_score}}
<i class="fa fa-comment-o"></i> {{theme.count_of_cards}}
</span>
</a>
请看一下ng-click部分。您必须从列表(“主题”)传递项目(在您的情况下为“主题”)的某些属性(“ theme.name”),因为您无法比较对象。
在ng-class中,您还必须传递与ng-click中相同的属性。希望能帮助到你。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句