0

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

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

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

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

在示例中,它可能是一个休息结果或一个指令,而不是 item.condition。

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

4

1 回答 1

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});
};
于 2015-04-08T20:11:03.323 回答