在ng-repeat循环中显示条件内容的最佳方法是什么

时间:2015-04-08 19:56:17

标签: javascript angularjs angularjs-ng-repeat ng-repeat angular-ng-if

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

在ng-repeat中,我想展示一些部分,如果条件合适但我不希望它在循环中,我需要在我想要的时候和我想要的地方显示它。

例如: $ 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,它可能是休息结果或指令。

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

1 个答案:

答案 0 :(得分:0)

你可以在没有循环的情况下完成。例如,你的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});
};