(AngularJS)专门针对 ng 重复中的一个元素进行"ng-show"真



我从 Angular 开始,我问是否有可能让"ng-show"对"ng-repeat"中的一个元素为真,而对其他元素为假?

我用这段代码解释自己:

HTML 文件 :

<tbody ng-repeat="elem in List"  ng-init="visible = false">
<tr ng-class="elemSelected(elem)">
<td colspan="3">
<a href ng-click="clickElemScroll(Elem)"   >
<span class="glyphicon" ng-class="visible? 'glyphicon-chevron-down' : 'glyphicon-chevron-right'"></span>
<strong>{{elem.name}} </strong>
</a>
</td>
</tr>
<tr ng-show="visible" >
blabla
</tr>
</tbody>

js 文件 :

$scope.clickElemScroll = function (elem) {
if ($scope.elemSelected === elem) {
$scope.visible = true
} 
};

如您所知,问题是所有 elem 都将滚动,如何仅使我单击的元素可见?

您可以在要在 ngRepeat 中使用的元素上设置一个新属性。另外,不确定ng类是怎么回事,但我不建议在那里使用函数。如果您尝试在选择时设置类,请尝试类似ng-class="{'selected': elem.selected}"

<tbody ng-repeat="elem in List">
<tr ng-class="elemSelected(elem)">
<td colspan="3">
<a href ng-click="elem.selected = !elem.selected">
<span class="glyphicon" ng-class="visible? 'glyphicon-chevron-down' : 'glyphicon-chevron-right'"></span>
<strong>{{elem.name}} </strong>
</a>
</td>
</tr>
<tr ng-show="elem.selected">
blabla
</tr>

相关内容

最新更新