значение ng-repeat в массиве с тем же именем - PullRequest
0 голосов
/ 10 сентября 2018

В моем массиве есть несколько значений ключа, имеющих одно и то же имя. Я хочу перечислить их все в моем виде, как мне этого добиться?

Я сталкиваюсь с ошибкой, заявляющей [ngRepeat:dupes] Duplicates in a repeater are not allowed.

Это мой массив JSON : -

["text-align", "space-before", "space-before.conditionality", "font-size", "font-weight", "line-height", "font-size", "font-weight", "line-height", "space-before", "font-size", "font-weight", "line-height", "position", "top", "bottom", "right", "left", "text-align", "force-page-count", "break-before", "font-size"]

Как мы видим, несколько ключей повторяются. Мне нужно перечислить все повторяющиеся значения, не пропуская ни одного в моем представлении

Ответы [ 2 ]

0 голосов
/ 10 сентября 2018

Вы можете использовать track by $index для удаления этой ошибки, что-то вроде этого

<tag ng-repeat="item in items  track by $index">

//content

</tag>

https://docs.angularjs.org/api/ng/directive/ngRepeat

0 голосов
/ 10 сентября 2018

Если вы используете ng-repeat, он перебирает уникальные значения в массиве. Если у вас есть повторяющиеся значения, вам нужно явно указать модуль Angular, чтобы игнорировать значения как уникальные и искать уникальное значение index, выполнив:

ng-repeat = "item in items track by $index"

Используя track by, вы можете явно указать, какое значение следует проверять как меру уникальности при визуализации DOM с использованием ng-repeat. Вы даже можете использовать свойство объекта, например item in items track by item.id, где item - это объект, имеющий свойство id, а items - массив объектов.

В вашем массиве font-size указано несколько раз в массиве, поэтому используйте track by $index.

...