Angular,如何将类设置为单击的列表项并从其他列表项中删除li项
Angular, how to set class to the clicked list item and remove from others li items?
我在这个列表中尝试为单击的列表项设置类(但类应该只为单击的项设置)。
我试着用这种方式做,但没有运气:
<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>
我怎样才能以正确的方式做这件事?
谢谢你的帮助。
太棒了。很抱歉,因为我还没有帐号,所以我必须用理论的方法给你们解释。
George,您必须在控制器中创建功能来选择您的项目,例如,在您的情况下:
$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>
请看一下点击部分。您必须传递列表("emes")中项(在您的情况下为"theme")的某些属性("eme.name"),因为您无法比较对象。
在ng类中,您还必须传递与ng click中相同的属性。希望能有所帮助。
您需要更改语法ng-class
指令
<a href=""
ng-class="{'selected':$index==selectedIndex}"
ng-ctrl="ThemesCtrl"
ng-click="checkThemeContent(theme);currentTheme=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>
如果"selectedIndex"是表示控制器中所选项目的范围变量,而"selected"是CSS类,请尝试更改ng类部分,如下所示:
ng-class="{selected: $index==selectedIndex}"
相关文章:
- 如何在 *ngFor 列表中显示单击的元素,使用 Angular 2 隐藏其他元素
- 从下拉列表中选择其他选项时激活文本框
- 单击列表中的引导输入按钮将禁用其他按钮
- 如何使用其他下拉列表中未选择的选项填充下拉列表
- 我创建了一个下拉列表,以及如何显示所选项目的其他列数据
- 在选择其他下拉列表html和javascript araray的基础上,填充3个连续的下拉列表
- 如何在使用任何其他数据库的同时,用javascript获取所有mongo数据库的列表
- 将列表项设置为负顶部的动画会使其他列表项下降
- React Redux将项目添加到列表中会转移到其他创建的列表中
- 使用AngularJS中的ngOptions隐藏其他列表中的选定选项
- 如何在从所有下拉列表中选择一个时禁用其他下拉列表
- 选择列表框以更改其他输入
- JQuery文本编辑器-在工具栏中添加其他下拉列表
- 如何根据其他下拉列表中的选择筛选下拉结果
- Sharepoint SPService从其他列表中获取ListItem
- 如何将其附加到其他页面上的选择下拉列表中
- jQuery 根据其他下拉列表的选定值禁用其他下拉列表值
- 在任一下拉列表中选择“其他”时,两个下拉菜单将打开一个文本框
- 删除除使用 jQuery 单击的列表项之外的所有其他列表项
- 如何更改 HTML 数据列表输入上显示的图标?隐藏是可能的,但我可以将其更改为其他一些图标,例如向下箭头