在ng重复循环中显示条件内容的最佳方式是什么

What is the best way of displaying conditional content in ng-repeat loop

本文关键字:最佳 是什么 方式 条件 显示 ng 循环      更新时间:2023-09-26

我经常使用它,我觉得我做错了。

在ng重复中,我想显示某些部分,如果条件是正确的,但我不希望它处于循环中,我需要在我想要的时间和位置显示它。

例如:$scope.selectedItemId是从javascript动态定义和更改的。

<div ng-repeat=“item in items”>
    <div>{{item.name}}</div>
    <div ng-if=“selectedItemId==item.id”>{{item.condition}}</div>
</div>

在本例中,它可能不是item.condition,而是rest结果或指令。

看起来它会检查循环中的每一项。我想把内容动态地放在那里。当用户单击一个设置所选项目的按钮时,我希望它显示它的内容,ng if现在在哪里。

您可以在没有循环的情况下完成此操作。例如,您的html:

<button ng-click="setItem('uniq-id')">click me</button>
<div>{{selectedItem.condition}}</div>

js(为了简化,我使用lodash):

$scope.setItem = function (id) {
    $scope.selectedItem = _.find($scope.items, {id: id});
};