Ng-повторить объект с повторяющимся значением без дублирования его на выходе без использования фильтров и внешних зависимостей

71
9

У меня есть эта колонка:

Column
1
1
2

В результате я хочу, чтобы дублированный "1" не повторялся в ng-repeat. Вот иллюстрация:

Column  
1
2

Есть ли способ проверить, что если значение повторяется, оно не будет включено в итерацию ng-repeat?

Вот моя рабочая скрипка:

<div ng-app="myApp" ng-controller="myCtrl">
<table>
<tbody>
<tr ng-repeat="item in obj">
<td> {{ item.col1 }} </td>
</tr>
</tbody>
</table>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function ($scope) {
$scope.obj = [{ col1: 1}, { col1: 1}, { col1: 2}];
});
</script>

EDIT: Я просто хочу знать, есть ли другой способ, кроме использования фильтра? Поскольку в дублированном вопросе все ответы обсуждались об использовании фильтра.

спросил(а) 2017-11-08T11:54:00+03:00 2 года, 3 месяца назад
1
Решение
49

Кажется, вам нужно получить уникальные значения. Существует быстрое решение использовать уникальный фильтр в ng-repeat.

AngularJS по умолчанию не содержит уникальный фильтр. Вы можете использовать один из углового фильтра. Просто включите JavaScript.

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-filter/0.5.8/angular-filter.min.js"></script>

и включить зависимость в ваше приложение,

var app = angular.module('myApp', ['angular.filter']);

затем добавьте | unique: | unique: фильтр в ng-repeat.

ответил(а) 2017-11-08T12:06:00+03:00 2 года, 3 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема